linux常用指令学习记录
前言
本文主要为学习贴,用来记录一些linux上的常用指令以供参考。
文件内容查看
cat
从上往下阅读文件内容
cat [-AbEnTv] ${FILE_NAME) cat -n /etc/issue 将该文件的内容输出到标准输出中,并显示行号 cat file1 file2 > file3 将file1 file2的内容依次添加到file3当中
tac
从下往上阅读文件内容,用法同cat
nl
添加行号打印,默认情况下空白行不显示行号
nl [-bnw] ${FILE_NAME} nl -b a file1 即使空白行也显示行号 nl -b a -n rz file 空白行也显示行号,并且行号在字段的最右方显示,且行号不用加0对齐
more/less
一页一页翻动文件。
more ${FILE_NAME} 向下翻动文件 less ${FILE_NAME} 向上/下翻动文件
head/tail
取文件的前几行或者最后几行内容
head/tail [-n number] ${FILE_NAME} head -n 10 file 读取文件前十行的内容 tail -n 10 file 读取文件后十行的内容 head -n -10 file 不打印文件后十行内容 tail -n +100 file 只打印100行以后的内容 tail -f file 打开文件并持续更新,直到ctrl+c才退出。这个常用于查看最新的日志
命令与文件查询
which
寻找执行文件,查找命令的完整文件名
which [-a] command #-a会将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的指令 which ifconfig #在非root用户下会查找不到,因为ifconfig位于/sbin/ifconfig下,而非root用户的PATH中不包含该路径,所以找不到 which cd #找不到,因为cd为bash的内置命令
whereis
根据文件名寻找文件,查找文件的完整文件名
whereis [-bmsu] 文件或目录名 -b 只找二进制文件 -m 只找在manual路径下的文件 -s 只找source源文件 -u 查找不在上述选项中的其他特殊文件
locate+updatedb
locate会根据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名,即所有包含该关键字的文件都将被输出。但是因为数据库的更新一般为一天一次,所以如果需要查找新的内容,需要用updatedb指令更新数据库,updatedb会根据/etc/updatedb.conf去查找硬盘内的文件名,并更新数据库文件
locate [-ir] keyword -i 忽略大小写差异 -r keyword可以为正则表达式
find
查找文件,磁盘查找,支持通配符
find [PATH] [option] [action] find / -mtime 0 #查找24小时内被修改过的文件 find /etc -mtime 3 #查找3天前的24小时内被修改的文件 find / -mtime +3 #查找3天前(不含3天本身)被更改的文件 find / -mtime -3 #查找3天内被更改的文件 find / -user name #查找用户名为name的文件 find / -group name #查找群组名为group的文件 find / -nouser #查找不属于任何用户的文件,可能出现于网络文件,或是已经被删除的用户创建的文件 find / -name filename #查找文件名为filename的文件 find / -type TYPE #查找某一类文件,f:正规文件,b:设备文件,d:目录,l:连接文件,s:socket,p:FIFO
压缩与打包
常见压缩扩展名
*.Z: compress程序压缩文件 *.gz: gzip程序压缩文件 *.bz2: bzip2程序压缩的文件 *.tar: tar程序打包的文件,但没有被压缩 *.tar.gz: tar程序打包的文件,其中经过gzip的压缩 *.tar.bz2: tar程序打包的文件,其中经过bzip2压缩
gzip
gzip可以解开compress,zip与gzip等软件所压缩的文件。gzip压缩后,源文件会被删除,被替代为.gz的压缩文件。
gzip [-cdtv#] 文件名 -c: 将压缩的数据输出到屏幕上,可通过数据流重定向来处理 -d: 解压缩的参数 -t: 可以用来校验一个压缩文件的一致性 -v: 显示压缩比等信息 -#: 压缩等级,-1最快,-9最慢但压缩程度最高,默认-6 gzip -d filename: 会将压缩文件解压缩,并删除压缩文件
tar
tar [-j|-z] [cv] [-f 新建的文件名] filename #压缩 tar [-j|-z] [xv] [-f 打包文件名] [-C 目录] #解压缩 -c: 新建打包文件,可配合v查看过程中被打包的文件名 -x: 解打包或解压缩功能,可以搭配-C在特定目录中解开 -j: 通过bzip2的支持进行压缩和解压缩 -z: 通过gzip支持压缩和解压缩 -v: 将正在处理的文件名显示出来 -C: 在特定目录中解压缩 -p: 保留备份数据的原本权限和属性 -P: 保留绝对路径,一般情况下都是相对路径,防止数据覆盖 --exclude=FILE: 在压缩过程中不要讲FILE打包进去 --newer: 打包ctime和mtime在日期后面的文件 --newer-mtime:打包mtime在日期后面的文件 tar -zcv -f filename.tar.gz filename #压缩打包为filename.tar.gz tar -zxv -f filename.tart.gz -C 欲解压缩的目录 filename
原文地址:https://segmentfault.com/a/1190000016598226