Linux的常用命令
命令格式: 命令 [-选项][参数] 参数
ls -la /usr
多个选项时,可以一起写
ls -l -a ls -la
简化选项与完整选项
ls -all ls -a
帮助命令
man 作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
man ls man services
查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出
help shell 内置命令帮助信息
help cd
命令名 --help
命令名 --help 列举该命令的常用选项
cp --help
文件处理命令
cd: 切换工作目录
cd -: 回到上一次的操作所在位置
cd ~: 回到用户家目录
cd ./: 当前目录
cd …/: 回到上一级目录
cd : 回到用户家目录
ls
ll 等价于ls -l
-l 列表形式显示
ls -l /bin 查看根目录下的bin目录下的所有文件或目录以列表的形式查看
-a 所有文件或目录 包括隐藏文件
ll -a /bin
-h 以可读的方式显示文件大小,配合-l使用
ll -h /bin
pwd 作用:显示当前工作目录
pwd [-LP]
cd /etc/init.d
pwd [-P]
mkdir 作用:创建新目录
mkdir [-P] 目录名
-P 父目录不存在情况下先生成父目录
mkdir linux/test
touch 作用:创建空文件或更新已存在文件的时间
touch 文件名
touch a.txt b.txt touch{a.txt,b.txt} 同时创建多个文件,后面的{}中,中间不能有空格
touch “program files” 创建带空格的文件
注意:生产环境中,文件名一定不要加空格
echo 作用:查看某些环境变量/给文件增加内容
echo ‘字符串’> 文件名
echo $PWD 查看当前的路径
echo ‘haha’ > test1.txt 将字符串haha添加到test1.txt⾥⾯,注意;会将⽂件原来的内容覆盖
echo ‘haha’ > test1.txt 将字符串haha追加到test1.txt中,不会覆盖原来的内容
cp 作用:复制文件或目录
cp [-rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
cp -r /etc/* . 将etc下的全部内容递归拷贝到当前目录
cp -r /*etc/service/root/test/aa/bb
mv 作用:移动文件或目录、文件或目录改名
mv 源文件或目录 目的目录
remove 作用:删除文件
rm [-rf] 文件或目录
-r (recursive) 删除目录,同时删除该目录下的所有文件
-f (force) 强制删除⽂件或⽬录 即使原档案属性设为唯读,亦直接删除,⽆需逐⼀确认
注意:工作中,谨慎使rm –rf 命令。
vi编译器
插入命令
命令 | 描述 |
---|---|
a | 在光标后附加文本 |
A | 在本行末尾附加文本 |
i | 在光标前附加文本 |
I | 在本行行首附加文本 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
定位命令
命令 | 描述 |
---|---|
:set nu | 显示行号 |
gg | 跳转到第一行 |
G | 跳转到最后一行 |
nG | 跳转到第n行 |
:n | 跳转到第n行 |
保存和退出命令
命令 | 描述 |
---|---|
:w | 保存修改的内容 |
:w file_name | 另存为指定文件,如果文件不存在,会创建一个新的文件 |
:wq | 保存修改并退出 |
ZZ | 保存修改并退出(快捷键) |
:q! | 不保存修改内容,强制退出 |
:wq! | 强制保存并退出(文件的所有者可以忽略只读权限,进行修改) |
- 如果文本没有修改,可以使用:q退出
- 如果文本内容已经修改,无法使用:q进行退出,需要使用:q!强制退出
- 有突发的情况,导致窗⼝异常退出的时候,需要删除与文件同名的.swp⽂件
删除命令
命令 | 描述 |
---|---|
x | 删除光标所在处的字符,nx 删除光标所在处后n个字符 |
dd | 删除光标所在行,ndd删除n行 |
:n1,n2d | 删除指定范围的行(:1,3d删除123这三行) |
dG | 删除光标所在行到末尾的内容 |
D | 删除从光标所在处到行尾 |
复制和剪切命令
命令 | 描述 |
---|---|
yy\Y | 复制当前行 |
nyy\nY | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p | 粘贴当前光标所在下一行 |
P | 粘贴当前光标所在上一行 |
替换和查找命令
命令 | 描述 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按Esc结束 |
u | undo,取消上一步操作 |
ctrl+r | redo,返回到undo之前 |
搜索和替换命令
find
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径][匹配条件]
如果没有指定路径,默认从当前目录查找
find命令选项
-name 按照名字查找,精准查找
find /etc -name “init” 在目录/etc中查找文件init
-iname 按照名字查找,不区分大小写
find查找字符匹配:
: 匹配所有
?: 匹配单个字符
find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
如果被转义,可使用单双引号括住查询条件,或者使用\*。
find -name “*g”
-size:按照大小查找
以一个block为单位,一个block是512B,1K=2block +大于 -小于 不写是等于
find /etc -size -204800 在etc目录中找出小于100M的文件
-type:按照类型查找
f 二进制文件 l 软连接文件 d 目录 c 字符文件
find /dev -type c
find查找的基本原则:占用最少的资源,即查询范围最小,查询条件最精准
注意:如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录
grep 作用:在文件中搜寻字符串匹配的行并输出
语法: grep [-cinv] ‘搜索字符串’ filename
选项与参数
-c: 输出匹配行的次数
-i: 忽略大小写
-n: 显示匹配行及行号
-v: 反向选择,显示不包含匹配文本的行
grep ftp /etc/services
grep -v ^# /etc/inittab 去掉文件行首的#号
grep -n “init” /etc/inittab 显示在inittab文件中,init匹配行及行号
grep -c “init” /etc/inittab 显示在inittab文件中,init匹配了多少次
管道命令:| 以前面命令的输出结果,作为第二个命令的输出
which 作用:显示系统命令所在目录
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是 说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
which ls
whereis 作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径
whereis passwd
查看/etc/passwd配置文件的帮助,就用 man 5 passwd
磁盘的操作命令
df 作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空 间
语法:df [-hkam] [挂载点]
-h (human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等
-k 以KB 为单位显示各分区的信息,默认
-m 以MB为单位显示信息
-a 显示所有分区包括大小为0 的分区
du 作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-ahs] [文件名目录]
-a 显示子文件的大小
-h 以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
free 作用:显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
语法: free [-kmg]
-k 以KB为单位显示,默认就是以KB为单位显示
-m 以MB为单位显示
-g 以GB为单位显示
清理缓存命令:
echo 1 > /proc/sys/vm/drop_caches
打包压缩命令
gzip 作用:压缩(解压)文件,压缩文件后缀为.gz
gzip 只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d 将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
bzip2 作用:压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k 产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
zip 作用: 压缩(解压)文件,压缩文件后缀为.zip,保留源文件
语法: zip 选项 [压缩后文件名称] [文件或目录]
-r 压缩目录
zip services.zip /etc/services 压缩文件
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip ,注意如果解压时,已经存在与压缩文件同名的目录名,默认不会进行覆盖,如果选择Y,会进行覆盖
tar 作用:文件、目录打(解)包
语法:tar [-zcf] 打包后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
tar –cf tar –xf 单独的打包 ,解包
gzip bzip2 打包之后,进行压缩
tar –zcvf tar -zxvf 一步到位
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并 压缩文件dir1.tar.gz
tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录
tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
tar -xvPf bak.tar 解压到当前目录,默认是相对路径,P意思是支持绝对路径
tar -cvPf bak.tar /a/b 将/a/b路径压缩成bak.tar
tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz
tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
tar -rvf bak.tar /etc/password 将/etc/password追加文件到 bak.tar中
tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:源文件是保留的,不会被删除
date 显示或设置系统时间与日期
查看系统时间直接使用 date
自定义显示系统时间 date +‘%Y-%m-%d %H:%M:%S’
注意:+与字符串之间不能有空格,与date之间要有空格
设置时间 date -s “2022-7-16 19:21:05”
同步到bios,重启之后才能继续生效 hwclock -w
系统关机命令
关机命令: shutdown
语法:shutdown [选项] 时间
-c 取消前一个关机命令
-h 关机
-r 重启
shutdown -h now 立即关机
shutdown -h 20:30 定时关机
其他关机命令:
halt
poweroff
init 0
重启命令:
reboot
reboot -h now 立即重启
init6 重启命令
注意:生产环境中,关机命令和重启命令谨慎执行。
执行等级
linux有七种执行等级:
init 0: 停机
init 1: 单用户形式,只root进行维护
init 2: 多用户,不能使用net file system
init 3: 完全多用户
init 5: 图形化
init 4: 安全模式
init 6: 重启
其他命令
uname -r 查看系统版本信息
basename a/b/c/test.txt 显示:test.txt 查看命令中的名字
dirname a/b/c/test.txt 显示: a/b/c/ 查看命令中的路径
linux的快捷键命令
善于查看man help等帮助文档
利用好tab键 自动补全
ctrl + c (停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r (查看命令历史) history
ctrl + l (清屏,与clear命令作用相同)
对当前命令行的操作:
方向箭头 上 下 可以查看执行过的命令并再次使用
ctrl + a 行首
ctrl + e 行尾
ctrl + d 清除当前的字符
ctrl + k 清除光标后面的内容
ctrl+ w 清除光标前面的单词
yum的基本操作
查询
yum list 查询所有可用的软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum info 关键字 查找包名
安装
yum -y install -y 自动回答yes
升级
yum -y update 包名 注意:如果不加包名,就升级所有的,包括内核。必须加包名升级单个软件包,慎⽤升级所有的
检测升级 yum check-update
卸载 yum - y remove 包名
其他操作
yum --help\man yum 帮助
yum clean all 清除缓存和旧的包
yum repolist 查看当前可以用的yum源
yum deplist httpd 列出一个包所有依赖
scp命令 以实现将文件或者目录拷贝到另外的一台机器上
scp file 远程用户名@远程服务器:目标路径