目录
Linux命令基础格式:
command [-options] [parameter]
command:命令本身
-options:[可选,非必填] 命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填] 命令的参数,多数用于命令的指向目标等
1. 软件管理
1.1 yum命令
全称:Yellow dog Updater, Modified
语法:
yum [选项] 操作 软件包
功能:CentOS上的RPM包软件管理器
常用选项:
- -y 自动确认
- -q 不显示过程
常用操作:
- install 安装
- remove 卸载
- search 搜索
yum命令需要root权限,并且yum命令需要联网。
2. 帮助命令
2.1 man命令
全称:manual
语法:
man [选项] 参数
功能:访问Linux手册页
常用选项:
- -a 显示所有匹配的手册页面
- -k 搜索手册页中与关键字匹配的条目
- section 章节
8个章节(section):
- 1 用户命令
- 2 系统调用
- 3 C库函数
- 4 设备和特殊文件
- 5 文件格式和约定
- 6 游戏
- 7 杂项
- 8 系统管理命令
man命令需要通过yum安装:
sudo yum -y install man
sudo yum -y install man-pages
使用方法:
快捷键:
- Q 退出
- /字符串 向下搜索字符串
- ?字符串 向上搜索字符串
如,想找printf的返回值,输入/return value,即可找到"return value"字符串:
2.2 help命令
语法:
help [选项] 参数
功能:显示Shell内部命令的帮助信息
常用选项:
- -s 输出短格式的帮助信息,仅包括命令格式
可以使用type命令查看命令类型:
3. 文件目录类
3.1 ls命令
全称:list
语法:
ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录和文件;对于文件,列出文件信息
常用选项:
- -a 显示所有目录和文件,包括以.开头的隐藏文件
- -l (ls -l与ll相同)以列表的形式显示详细信息
当不使用选项和参数,直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容:
使用ls -a:
可以看到,ls -a对比ls列出的内容更多了(包括以.开头的隐藏文件)。
选项是可以组合使用的,比如:
- ls -l -a
- ls -la
- ls -al
上述三种写法,都是一样的,表示同时应用-l和-a的功能:
除了选项本身可以组合以外,选项和参数也可以一起使用:
3.2 tree命令
语法:
ls [选项] [目录]
功能:以树状图的形式列出指定目录下的所有文件,包括目录里的文件,显示出指定目录的文件目录结构
常用选项:
- -a 显示所有目录和文件,包括以.开头的隐藏文件
tree命令需要通过yum安装:
3.3 pwd命令
全称:print working directory
语法:
pwd
功能:显示当前工作目录的绝对路径
3.4 cd命令
全称:change directory
语法:
cd 目录
功能:改变工作目录,将当前工作目录改变到指定的目录下
3.5 touch命令
语法:
touch [选项] 文件
功能:更改文档或目录的日期时间,包括存取时间和更改时间,若文件不存在,则创建一个新文件
常用选项:
- -a 或--time=atime或--time=access或--time=use,只更改存取时间
- -c 或--no-create,不建立任何文档
- -d 使用指定的日期时间,而非现在的时间
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
- -m 或--time=mtime或--time=modify,只更改变动时间
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
- -t 使用指定的日期时间,而非现在的时间
3.6 mkdir命令
全称:make directory
语法:
mkdir [选项] 目录
功能:创建目录
常用选项:
- -p 创建多级目录
3.7 rmdir&rm
3.7.1 rmdir命令
全称:remove directory
语法:
rmdir [选项] 目录
功能:删除空目录
常用选项:
- -p 表示当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
3.7.2 rm命令
全称:remove
语法:
rm [选项] 目录或文件
功能:删除目录或文件
常用选项:
- -f 强制删除
- -i 交互模式,删除前询问用户
- -r 递归删除
rm命令支持通配符*,用来做模糊匹配。符号*表示通配符,即匹配任意内容(包含空)。
- test*,表示匹配任何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test*,表示匹配任何包含test的内容
3.8 cp命令
全称:copy
语法:
cp [选项] 源文件或目录 目标目录
功能:复制源文件或目录到目标目录下
常用选项:
- -f 强制复制
- -i 交互模式,覆盖前询问用户
- -r 递归复制
3.9 mv命令
全称:move
语法:
mv [选项] 源文件或目录 目标文件或目录
功能:移动文件或目录;或重命名。
- mv 文件名 文件名:将源文件名改为目标文件名,即文件重命名
- mv 文件名 目录名:将文件移动到目标目录下
- mv 目录名 目录名:目标目录已存在,将源目录移动到目标目录下;目标目录不存在则重命名
- mv 目录名 文件名:error
常用选项:
- -f 强制移动
- -i 交互模式,覆盖前询问用户
4. 文本处理类
4.1 echo命令
语法:
echo 输出的内容
功能:输出指定内容
4.1.1 反引号
反引号 `:被`包围的内容,会被作为命令执行,而非普通字符
4.1.2 重定向符
- >:输出重定向,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
- >>:追加重定向,将左侧命令的结果,追加写入到符号右侧指定的文件中
4.2 cat命令
全称:concatenate
语法:
cat [选项] 文件
功能:查看文件内容(内容全部显示到屏幕上)
常用选项:
- -b 对非空输出行编号
- -n 对所有输出行编号
- -s 多行空行合并为一行空行
4.3 more命令
语法:
more [选项] 文件
功能:查看文件内容(内容按页显示到屏幕上)
more的功能类似cat,只不过cat是把内容全部显示到屏幕上,more是一页一页或一行一行地显示。
常用选项:
- +num 从笫num行开始显示
- -num 一页有num行
快捷键:
- 空格 向下翻一页
- Enter 向下翻一行
- Q 退出
规定一页有3行,显示一页:
按空格键,再显示一页:
按Enter键,再显示一行:
按Q键,退出:
4.4 less命令
语法:
less [选项] 文件
功能:查看文件内容(内容滚动显示到屏幕上)
常用选项:
- -i 忽略搜索时的大小写
- -N 对所有输出行编号
快捷键:
- pagedown或空格 向下翻一页
- pageup或B 向上翻一页
- ↓或Enter 向下翻一行
- ↑或Y 向上翻一行
- /字符串 向下搜索字符串
- ?字符串 向上搜索字符串
- Q 退出
显示ls的手册,并编号:
按下回车,执行上面的命令,整个屏幕显示的就是ls手册的第一页:
按pagedown或空格,向下翻一页:
按↓或Enter,向下翻一行:
按Q退出:
退出后刚才显示的内容不会留下。
4.5 head命令
语法:
head [选项] 文件
功能:查看文件内容(内容前num行显示到屏幕上,默认显示前10行)
常用选项:
- -num 显示的行数
4.6 tail命令
语法:
tail [选项] 文件
功能:查看文件内容(内容后num行显示到屏幕上,默认显示后10行)
常用选项:
- -num 显示的行数
4.7 wc命令
全称:word count
语法:
wc [选项] 文件
功能:统计一个文件中的字节数、字符数、行数、字数
常用选项:
- -c 统计字节数
- -m 统计字符数
- -l 统计行数
- -w 统计字数
不使用选项则输出行数、字数和字节数:
4.8 sort命令
语法:
sort [选项] 文件
功能:对文本文件进行排序
常用选项:
- -b 忽略每行前面开始出的空格字符
- -c 检查文件是否已经按照顺序排序
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
- -f 排序时,将小写字母视为大写字母
4.9 uniq命令
语法:
uniq [选项] 文件
功能:删除文本文件的连续重复行
常用选项:
- -c 在每列旁边显示该行重复出现的次数
- -d 仅显示重复出现的行列
5. 时间日期类
5.1 date命令
5.1.1 显示时间
语法:
date +格式
格式参数:
- %H 时(24小时制)
- %M 分
- %S 秒
- %Y 年
- %m 月
- %d 日
5.1.2 设置时间
- date -s 设置当前时间,只有root权限才能设置,其他只能查看
- date -s 20080523 设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 设置具体时间,不会对日期做更改
- date -s “01:01:01 2008-05-23″ 这样可以设置全部时间
- date -s “01:01:01 20080523″ 这样可以设置全部时间
- date -s “2008-05-23 01:01:01″ 这样可以设置全部时间
- date -s “20080523 01:01:01″ 这样可以设置全部时间
5.1.3 时间戳
- 时间->时间戳:date +%s
- 时间戳->时间:date -d@1508749502
5.2 cal命令
全称:calendar
语法:
cal [选项] [[月份] 年份]
功能:显示日历
- 如果没有参数,则显示当月日历
- 如果只有一个参数,则表示年份
- 如果有两个参数,则表示月份和年份
常用选项:
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
6. 搜索查找类
6.1 which命令
语法:
which 命令
功能:查找命令的路径(Linux命令本质上是二进制可执行程序)
6.2 find命令 -name
语法:
find 起始目录 -name "文件名"
功能:从起始目录按文件名查找文件
find命令支持通配符*,用来做模糊匹配。符号*表示通配符,即匹配任意内容(包含空)。
- test*,表示匹配任何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test*,表示匹配任何包含test的内容
6.3 grep命令
全称:global regular expression print(全局正则表达式打印)
语法:
grep [选项] 字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
- -i 忽略大小写的不同,所以大小写视为相同
- -n 顺便输出行号
- -v 反向选择,亦即显示出没有搜寻字符串内容的那一行
6.3.1 管道符
管道符 |:将管道符左边命令的输出结果,作为右边命令的输入
7. 压缩解压类
7.1 zip&unzip
7.1.1 zip命令
语法:
zip [选项] 文件名.zip 目录或文件
功能:压缩目录或文件为zip格式
常用选项:
- -r 递归压缩
7.1.2 unzip命令
语法:
unzip [选项] 文件名.zip
功能:解压缩zip格式的目录或文件到指定目录
常用选项:
- -d 目录 指定文件解压缩后所要存储的目录
7.2 tar命令
全称:tape archive
语法:
tar [选项] 目录或文件
功能:打包
常用选项:
- -c (creat)创建打包文件,可搭配-v来查看过程中被打包的文件名
- -x 解打包或解压缩的功能
- -t 查看tarfile里面的文件名
- -z 通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz
- -j 通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2
- -v 在压缩/解压缩的过程中,将正在处理的文件名显示出来
- -f<文件> -f后面要立刻接要被处理的文件名
- -C<目录> 解压到指定目录
- -p 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
- -P 保留绝对路径,亦即允许备份数据中含有根目录存在之意
- --exclude=FILE 在压缩的过程中,不要将 FILE 打包!
范例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以gzip压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以bzip2压缩
范例二:查阅上述/tmp/etc.tar.gz文件内有哪些文件
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
范例三:将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
范例四:在/tmp底下,我只想要将/tmp/etc.tar.gz内的etc/passwd解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
范例五:将/etc/内的所有文件备份下来,并且保存其权限
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
范例六:在 /home 当中,比2005/06/01新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
范例七:我要备份/home, /etc,但不要/home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将/etc/打包后直接解开在/tmp底下,而不产生文件
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
8. 系统管理类
8.1 uname命令
全称:unix name
语法:
uname [选项]
功能:获取电脑和操作系统的相关信息
常用选项:
- -a 或--all,显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等
- -m 或--machine,显示处理器类型
- -n 或--nodename,显示主机名
- -r 或--release,显示内核版本号
- -s 或--sysname,显示操作系统名称
- -v 显示操作系统的版本
- -p 显示处理器类型(与-m选项相同)
8.2 shutdown命令
语法:
shutdown [选项]
功能:关机
常用选项:
- -h 将系统的服务停掉后,立即关机
- -r 在将系统的服务停掉之后就重新启动
- -t seconds 设定在几秒钟之后关机
9. 计算
9.1 bc命令
全称:binary calculator
语法:
bc [选项] 参数
功能:实现任意精度的计算(+-*/^%)