大家好,欢迎来到IT知识分享网。
基本命令
- ls 列出文件的基本命令
几个常用参数
-l 以长列表列出文件
-R选项, 递归选项,以目录树的形式列出所有文件
-S, 将会按照文件尺寸列出所有文件
-t, 将会按照修改时间来列出文件
-i选项会显示文件的inode
- cat, tac 把文件的内容输出到stdout
参数 -n 所有行前边插入行号
-b 用来加行号的, 不对空行进行编号
-v 用^标记法出不可打印字符
-T 显示TAB ^I
-E 显示行尾
-A -vET
-s 把多个空行压缩成一个空行
tac 和cat 相反,从行尾打印
- rev 反转每一行内容
- cp 拷贝文件
参数 -a 拷贝完整目录树, -u是更新选项, -r和-R选项是递归标志
- mv 文件移动命令 等价于cp和rm命令的组合
- rm 删除一个或多个文件
参数 -f 强制删除文件, 即使文件是只读的
-r删除整个目录树
- rmdir 删除目录 只有目录中没有文件才生效
- mkdir 创建空目录
-p 创建递归目录
- chmod修改文件属性
- ln 创建文件链接
参数 -s 创建符号链接, 或”软”链接
- man, info 帮助手册
复杂命令
- find 查找文件
find [路径] [选项] [操作]
参数 -name 按文件名查找文件,例如:find /etc -name ‘*.conf’
-iname 按文件名查找文件,不区分大小写
-user 查找文件所属用户的所有文件
-group 查找文件所属组的所有文件
-type 按文件类型查找 f文件/d目录/c字符设备文件/b块设备文件/l链接文件p 管道文件
-size 根据文件大小查询 -n小于大小为 n 的文件 +n 大于大小为 n 的文件
-mtime -n n天以内修改的文件 +n n天以外修改的文件 n 正好n天修改的文件
-mmin -n n分钟以内修改过的文件 +n n分钟之前修改过的文件
-mindepth n 从第 n 级目录开始搜索
-maxdepth n 表示至多搜索到第 n-1 级子目录
-newer file1 查找当前目录下比file1文件要新的文件
- xargs 给命令传递参数的一个过滤器, 也是组合多个命令的一个工具
参数 -p 当每次执行一个分隔符的时候询问一次用户。
-n num num为个数,表示命令在执行的时候一行用的分隔符的个数,默认是用所有的。
-t 表示先打印,然后再执行。
-i 一行一行赋值给 {},默认是单行。
-r 当xargs的输入为空的时候则停止xargs,不用再去执行了。
-L num 从标准输入一次读取 num 行送给 command 命令。
-l 同 -L。
-d delim delim分隔符,这里修改的是xargs的分隔符。
当你尝试用rm 删除太多的文件,你可能得到一个错误信息,用xargs 去避免这个问题
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
xargs将find 命令的输出传递给ls -l
find /etc -name “*.conf” | xargs ls –l
使用xargs 下载所有链接
cat url-list.txt | xargs wget –c
查找所有的jpg 文件,并且压缩它
find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
拷贝所有的图片文件到一个外部的硬盘驱动
ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
- expr 通用求值表达式
通过给定的操作连接参数, 并对参数求值. 可以使算术操作, 比较操作, 字符串操作或者是逻辑操作
expr 3 + 5 #返回8
expr 5 % 3 #返回2
expr 1 / 0 #返回错误消息, expr: division by zero 不允许非法的算术操作.
expr 5 \* 3 #返回15 在算术表达式expr中使用乘法操作时, 乘法符号必须被转义.
y=`expr $y + 1` # 增加变量的值, 与let y=y+1和y=$(($y+1))的效果相同. 这是使用算术表达式的一个例子.
z=`expr substr $string $position $length` #在位置$position上提取$length长度的子串.
b=`expr match “$a” ‘[0-9]*’` # 统计数字的个数.
b=`expr match “$a” ‘\([0-9]*\)’` # 注意, 括号需要转义括号,b是匹配a的子串
:操作可以替换match命令. 比如, b=`expr $a : [0-9]*`与 b=`expr match $a [0-9]*`完全等价
时间/日期 命令
- date
date +%Y //year,输出4位数年
date +%y //输出2位数的年
date +%m //m表示month,输出的结果是月份
date +%d //d表示day,日
date +%D //D表示特殊格式的日期表示方法 如当前日期为2018年3月21日 显示21/03/18
date +%Y%m%d //输出年月日
date +%F //输出的年月日会用连字符隔开
date +%H //H表示hour小时
date +%M //M表示minute分钟
date +%S //S表示second秒
date +%s //输出结果是一个时间戳,表示距离1970年1月1日0时0分过去多少秒
date +%T //以下面格式输出时分秒
date +%H:%M:%S //效果跟上条命令一样
date +%w //输出结果为星期几,比如下图表示当前系统时间是星期三
date +%W //表示当前为今年的第几周,比如我这里为今年的第12周
date +%s //获取时间戳
date -d @ //将时间戳换算成日期
date +%s -d “2017-03-21 00:38:48” //将日期换算成时间戳
从当前时间往前或往后推算
date -d “-1day” //当前系统时间为3月21日,输出结果为3月20日
date -d “-1 month” +%F //上个月
date -d “-1 year” +%F //表示去年
- zdump
时区dump: 查看特定时区的当前时间
- time
输出统计出来的命令执行的时间.
time ls -l /
- touch 更新文件被访问或修改的时间或创建新文件
- at 作业控制命令, 用来在指定时间点上执行指定的命令集合
at 2:30 am Friday < at-jobs.list
- batch 与at令的行为类似 在系统平均负载量降到.8以下时执行一次性的任务
- cal 输出日历
- sleep 暂停执行,单位秒
- usleep 同sleep 单位微秒
- hwclock, clock 访问或调整硬件时钟
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/123571.html