命令字 选项 参数
常用参数 | 含义及用法 |
---|---|
-l | long 的缩写 详细列出当前目录下的所有文件属性 七列 文件名 <=255 个字符 |
-d | directory 的缩写 查看当前目录本身的信息 |
-h | 以人性化的方式显示文件大小,录的大小并不代表目录内所有文件的大小 du -sh /etc<== 查看 etc 目录真正的大小 |
-a | 查看隐藏文件 以 . 开头的文件 |
-R | 查看多层目录 |
-b | 特殊字符将以 \ 分割 ls 查看有特殊字符的文件 |
cd | change directory 切换工作目录 |
---|---|
绝对路径 | 以根为起始的路径 |
相对路径 | ~当前用户的家目录 ;. 当前目录 ;.. 上一层用户 ;- 回到上一次所在位置 |
pwd:print working directory 显示当前所在位置的绝对路径
匹配任意多个字符
例如:a* 包括aa*、ab*、ac* 等等
匹配任意单个字符
例如: a? 可以是ab、ac、ad、a1、a9、a#等等
output | input
对某些命令执行的结果去作操作,会用到管道;用于命令与命令之间的连接,前一个命令的输出是后一个命令的输入
touch [filename]
创建文件,参数可以跟多个
如果要创建 50 个有规律的文件,例如 text1-text50
利用参数扩展
touch test{1..50}
touch test{a..e}
touch test{a..e}_{1..3}---> 会创建 a_1 a_2 a_3...
rm | [filename] remove 删除文件,对 root 用户有提示,普通用户没有提示 |
---|---|
-f | force 强制删除, root 无提示 |
-i | 普通用户有提示的删除 |
-r | 递归删除,慎重使用 -rf |
mkdir:make directory 创建目录
mkdir -p /test/test1
递归创建目录
mkdir {a..e}
创建 a-e 的目录
touch {a..e}/file{1..4}
在 a-e 的目录下新建 file1-file4 文件
### cp
cp:copy 复制文件
cp 源文件 目的地(目录)
-p 保留文件原属性
-r 复制目录
cp -p fileName fileDir
mv:move 移动 移动和重命名
mv 源文件 目的地(目录)
文件 | 命令 | 解释 |
---|---|---|
小文件 | cat | 以正序查看 调用内存比较多 -n 显示行号 |
tac | 以倒序查看 调用内存比较多 | |
大文件 | head | 查看文件首部,默认10行 ,-n 指定行号 |
tail | 查看文件尾部,默认10行,-n指定行号 | |
more | 按空格 space 下一页 b 向上翻页 enter 下一行 | |
less | 比 more 多了一个搜索功能 /[ 需搜索的子段 ]N 向上查找 n 向下查 q 退出 |
软件 | 解释 |
---|---|
LibreOffice | .odt 结尾 类似于 windows office |
gedit | 类似于 windows 记事本 |
vim | 插入模式 后面会专门讲到 vim 编辑器的使用 退出模式 命令模式 |
echo | 本身代表回显 echo xxx > file 将 xxx 写入 file 文件,并覆盖原有内容 echo xxx >> file 在 file 文件追加 |
grep
截取行
grep [OPTIONS] PATTERN [FILE…]
grep [ 字符串 ] [ 文件 ]
过滤带有 [ 字符串 ] 的行
grep [^ 字符串 ] [ 文件 ]
过滤以 [ 字符串 ] 为开始的行
grep [ 字符串 $] [ 文件 ]
过滤以 [ 字符串 ] 为结尾的行
grep -v [ 字符串 ] [ 文件 ]
过滤反选
eg.
过滤以 root 为开始的行
grep ^root /etc/passwd
过滤以 bash 为结尾的行
grep bash$ /etc/passwd
cut
是将文件中的每一行”字节” ”字符” ”字段” 进行剪切,选取我们需要的,并将这些选取好的数据输出至标准输出
cut -[n]b file
剪切单个字节
cut -c file
剪切字符
cut -d[分隔符] -f[域] file
指定分隔符剪切字符
-b(bytes) :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c(characters) :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f(filed) :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
# cut -b 1 test1.txt
# cut -c 1 test2.txt
cut -d" 分割符 "( 以什么为分隔符 ) -fn( 第几列 ) [ 文件 ]
eg. cut -d":" -f2 /etc/resolv.conf
wc
统计
wc 行数 单词数 字符数 文件名
-l 只显示行数
-w, --words 显示单词数
-c, -m,--bytes 显示字节
eg.
[root@stu15 ~]# wc /etc/resolv.conf 、
4 11 98 /etc/resolv.conf
sort
排序
默认按照首字母 ACII 码
-n 按照数字大小排序
-u 剔除重复的行
-r 降序排列
-k 指定某一列
-t 分隔符
eg.sort -n -k 2 -t : file1
将 file1 以第二列的数字排序,列以:分割
uniq
剔除重复行
uniq [file_name]
-c或——count:在每列旁边显示该行重复出现的次数;
-d或--repeated:仅显示重复出现的行列;
-f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位;
-s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符;
-u或——unique:仅显示出一次的行列;
-w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
命令 | 解释 |
---|---|
type [ 命令 ] | 判断是内部命令 or 外部命令 |
–help | 外部命令 |
help | 只针对系统内部命令 |
man [] | 内容清晰、详细,在线文档,支持搜索( /name ) man [ 章节 ] [name] |
info [] | 太详细 |
/usr/share/doc | 存放帮助文档,在与软件同名的目录下有所有软件的使用文档 |
man和—help以及help的区别
man命令
系统中会有单独的man文件,就是说,如果系统没有安装对应man文件,哪怕命令完全正常,man都没结果(同样,只要安装了man文件,哪怕没命令,也可以得到一大堆东西)。
–help参数
将会显示可执行程序自带的信息,这些信息是嵌入到程序本身的,所以–help信息较简短。
help命令
是选项帮助命令,顾名思义 你可以把单独某个命令的某个选项列出来,方便快捷很多,省去了man当中查找的繁琐,但是help只支持shell的内部命令。内部命令即存储在shell内部可以直接调用的一些简单命令,比如说echo,cd,pwd等。
type命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
语法
type(选项)(参数)
选项
-t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
-p:如果给出的指令为外部指令,则显示其绝对路径;
-a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。 参数 指令:要显示类型的指令。
参数
关键字:指定要搜索帮助的关键字
命令类型
alias:别名
keyword:关键字,Shell保留字
function:函数,Shell函数
builtin:内建命令,Shell内建命令
file:文件,磁盘文件,外部命令
unfound:没有找到
date命令是显示或设置系统时间与日期。 很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
语法
date(选项)(参数)
选项
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。
参数
<+时间日期格式>:指定显示时使用的日期时间格式。
日期格式字符串列表
格式 | 说明 |
---|---|
%H | 小时,24小时制(00~23) |
%I | 小时,12小时制(01~12) |
%k | 小时,24小时制(0~23) |
%l | 小时,12小时制(1~12) |
%M | 分钟(00~59) |
%p | 显示出AM或PM |
%r | 显示时间,12小时制(hh:mm:ss %p) |
%s | 从1970年1月1日00:00:00到目前经历的秒数 |
%S | 显示秒(00~59) |
%T | 显示时间,24小时制(hh:mm:ss) |
%X | 显示时间的格式(%H:%M:%S) |
%Z | 显示时区,日期域(CST) |
%a | 星期的简称(Sun~Sat) |
%A | 星期的全称(Sunday~Saturday) |
%h,%b | 月的简称(Jan~Dec) |
%B | 月的全称(January~December) |
%c | 日期和时间(Tue Nov 20 14:12:58 2012) |
%d | 一个月的第几天(01~31) |
%x,%D | 日期(mm/dd/yy) |
%j | 一年的第几天(001~366) |
%m | 月份(01~12) |
%w | 一个星期的第几天(0代表星期天) |
%W | 一年的第几个星期(00~53,星期一为第一天) |
%y | 年的最后两个数字(1999则是99) |
%Y | 年1999 |