一、linux常用命令
一、ls命令
查看命令的帮助信息
-
命令 --help 查看命令的主要信息
-
man 命令 查看命名的详细信息
- enter 回车键 下一行
- 空格或者 f 下一页 forward
- b 上一页 backward
- q 退出 quit
- /搜索的内容 搜索查找
查看目录的内容ls
-
基本格式ls [-选项] [目录]
-
常见用法
- ls 查看当前目录中的内容
- ls 目录 查看指定目录中的内容
- ls -l 文件 查看指定文件的详细信
- 常见的选项
- -l 查看文件的详细信息
- -a 查看隐藏文件,在linux中以点开头的文件是隐藏文件
- -h:配合-l显示出文件的大小
-
演示
- 补充
# 多个选项可以写在一块,不分前后顺序 比如:ls -alh ; ls -lah
- 结合通配符使用
二、cd命令
⽬录的切换 cd ⽬录
-
查看当前所在(⼯作)的⽬录 pwd print working directory
- cd .. 切换到指定的⽬录, 可以使⽤相对路径,可以使⽤绝对路径, 但是路径必须存在
- cd 切换到⽤户的主⽬录
- cd ~ 切换到⽤户的主⽬录
- cd ../ 切换到当前⽬录的上⼀级⽬录
- cd - 切换到上⼀次所在的⽬录
- cd ./ 或者 cd . 切换到当前⽬录
路径描述
- 绝对路径
从根⽬录(/)或者⽤户的主⽬录(~)开始计算书写的路径
- 相对路径
从当前路径开始计算书写的路径
./ 当前⽬录(可以不写的)
../ 上⼀级⽬录 (./../)
- 演示
三、touch命令
创建⽂件 touch
- 作用
- ⽂件不存在, 创建⽂件
- ⽂件存在,改变⽂件的最后修改时间
-
常见用法
- touch ⽂件名
- touch ⽂件1 ⽂件2 ...
四、mkdir命令
创建⽬录(⽂件夹) mkdir
-
常见用法
- mkdir ⽬录
- mkdir -p ⽬录/⽬录 如果上级⽬录(⽗级⽬录)不存在,会⾃动创建 (parent)
-
主意点
- 要创建的最终⽬录必须不存在,如果存在,会报错
五、rm命令
删除rm
-
常见用法
- rm 文件
- -i 提示是否要删除
- y yes 删除
- n no 不删除
- -f 删除不存在的⽂件,不报错
- -r 删除⽬录, 如果是⽂件也不会报错
-
⼀般书写 rm -rf ⽂件或者⽬录
-
rm -rf */ (注意,此技能会把整个linux一扫而空,谨用!)
六、cp命令
复制拷⻉cp
- 复制文件
cp 源⽂件路径 ⽬标⽂件路径
- 复制目录
cp -r 源⽬录路径 ⽬标⽬录路径
-
常⻅的选项
- -i 如果⽂件存在,会提示是否覆盖
- y yse 覆盖
- n no 不覆盖
- -f 默认,如果⽂件存在,直接覆盖
- -v 显示从哪个⽂件复制到哪个⽂件
- -i 如果⽂件存在,会提示是否覆盖
七、cp命令
移动或重命名mv
- 格式
mv 源路径 ⽬标路径
- 和cp 的区别
1. mv 不管是⽂件还是⽬录都是 mv
2. cp 是拷⻉,源⽂件存在, mv是移动,源⽂件不存在变为⽬标⽂件(剪切)
3. 如果 mv 源⽂件和⽬标⽂件在同⼀个⽬录就是重命名
七、cat命令、more命令和grep命令
查看⼩型⽂件 cat
⼩型⽂件: 相对来说,⽂件中的内容较少.⼀⻚可以显示完成
⼤型⽂件也可以查看,只是⼀次将所有内容,都显示不友好
-
语法 cat ⽂件名
- -b ⾮空⾏输出⾏号
- -n 所有⾏输出⾏号
查看⼤型⽂件 more
-
more ⽂件名 查看⼤型⽂件, 分屏显示⽂件内容
-
使⽤
- 空格键 或者 f 下⼀⻚
- 回⻋键 下⼀⾏
- b 上⼀⻚
- q 退出
查找⽂件内容 grep
grep 命令的作⽤.在⽂件中查找指定的内容, 并将匹配的⾏进⾏显示, 没有找到的⾏,不显示
- 语法
grep [-选项] '查找的内容' 在哪个⽂件中进⾏查找
-
常见选项
- 显示匹配的⾏号 -n
- 匹配的内容不区分⼤⼩写 -i
- 取反,显示不包含的⾏ -v
如果多个选项结合使⽤, 没有顺序
- 示例
-
结合正则使⽤
- ^内容 以什么 开头
- 内容$ 以什么结尾
- [abcd] 包含 a b c d 中任意⼀个
- .* 任意个任意字符(补充)
重定向命令 > >>
重定向: 将命令的输出结果(默认是在终端中显示)保存到⽂件中
-
语法
- 命令 > ⽂件名 将命令的结果保存到指定⽂件中,如果⽂件中有内容,会覆盖原有内容
- 命令 >> ⽂件名 将命令的执⾏结果追加到⽂件的末尾
-
常⻅的⽤法
1. 将指定内容追加的⽂件的末尾(追加⽂件的配置信息)
echo '内容' >> ⽂件名
2. 将某个命令的帮助信息保存到⽂件中
man 命令 > ⽂件
man ls > ls_help.txt
3. 结合 cat 使⽤
# 创建⽂件
cat > a.txt # 过程如果输错了想删除, Ctrl + 删除,不想输⼊了,Ctrl c 结束
# 合并⽂件
cat a.txt b.txt > c.txt
# ⽂件中追加内容
cat >> a.txt
管道命令 |
管道通常会结合 more 分屏显示⽂件
结合 grep 对显示的内容进⾏筛选
- 使用
- more 分屏显示内容
ls -al /usr/bin | more # 分屏查看 /usr/bin 中的⽂件内容
- grep 在结果中进⾏筛选
ls -al /usr/bin | grep '查找的内容'
八、ps命令(进程、端口、日志)
查看进程的命令 ps
- 语法
# 查看进程
ps -aux | grep 软件名字
ps -ef | grep 软件名字
关闭进程
kill -9 进程号
动态查看进程编号
top
# 退出
q 或者 ctrl c
查看进程使⽤的端⼝
- 语法
netstat -anptu | grep 端⼝号
lsof -i:端⼝号
查看⽇志信息
⽇志的本质也是⼀个⽂件, 可以使⽤ cat more grep
⽇志⽂件⼀般来说⽐较⼤.
-
从头部开始查看⽇志信息
- head ⽂件名 查看前 10 ⾏⽇志信息
- head -n ⽂件名 n 是⼀个整数数字, 表示查看前 n⾏的⽇志信息
- head -15 ⽂件名 查看前 15 ⾏
- head -20 ⽂件名 查看前 20 ⾏
-
从尾部开始查看⽇志信息
- tail ⽂件名 查看后 10 ⾏的⽇志信息
- tail -n ⽂件名 n 是⼀个整数数字, 表示查看后 n⾏的⽇志信息
- tail -15 ⽂件名 查看后 15 ⾏
- tail -20 ⽂件名 查看后 20 ⾏
-
实时查看⽇志信息(⼀个软件⼀遍写⽇志,使⽤命令直接查看最新的)
- tail -f ⽂件名
九、⽤户权限和管理
权限的分类
修改权限
- 字⺟法 chmod u+r ⽂件名
- ⽤户类型
- u ⽂件所属⽤户 user
- g ⽂件所属⽤户组 group
- o 其他⽤户 other
- a 所有⽤户 all
- 权限设置
- +增加权限
- -撤销权限
- = 设定权限
- ⽤户类型
- 数字法修改 chmod 775 ⽂件名
- 使⽤ id ⽤户名 #可以查看在哪个组
⽤户管理
- 添加⽤户 useradd ⽤户名
- 添加⽤户并指定⽤户组 useradd -g ⽤户组 ⽤户名
- 查看所有登录⽤户 who
- 查看当前使⽤的⽤户 whoami
- 切换⽤户 su ⽤户名
- 设置密码 passwd ⽤户名
- 退出当前⽤户 exit
- 删除⽤户和他的家⽬录userdel -r 用户名
-r 是删除⽤户的主⽬录
rm -rf 用户名 只是删除主⽬录,⽤户还在,添加和删除⽤户 都需要管理员权限
十、打包和解压缩
压缩: 节省空间(⽂件变⼩了), 传输变快了
打包: 只是将⽂件进⾏整理,不会改变整体⼤⼩
在 Linux 中 , 打包和压缩⼀般是⼀块使⽤的
常⻅的压缩包格式有如下的三种: .tar.gz / .tar.bz2 /.zip
- .gz 和 .bz2 格式压缩包 —–> tar 命令
虚拟机 可能没有安装压缩软件 ,可以使⽤ which 命令来检查
which gzip
which bzip2
yum install bzip2.x86_64 #安装
yum install unzip #安装
- 压缩
tar -zcvf 压缩包名.tar.gz 压缩⽂件1 压缩⽂件2 压缩⽂件3 ...
-z 表示是 gzip 的压缩格式
-c create 创建压缩包
-v 显示压缩的⽂件(可以有可以没有), ⼀般都会书写
-f file 要跟压缩包的⽂件名字
注意: -f 选项必须写在最后,其他三个顺序⽆所谓
tar -jcvf 压缩包名.tar.bz2 压缩⽂件1 压缩⽂件2 压缩⽂件3 ...
-j 表示是 biz2 的压缩格式
- 解压缩
tar -zxvf 压缩包的名字.tar.gz -C 解压到的⽬录
-x extract 提取, 解压
注意:
1. -C 解压到的⽬录 可以不写, 如果不写,默认解压到当前⽬录
2. 如果书写-C, 则后边跟的⽬录必须提前创建好(存 在)
tar -zxvf 压缩包的名字.tar.gz # 解压到当前⽬录
tar -jxvf 压缩包的名字.tar.bz2 -C 解压到的⽬录
-
zip格式
- 压缩
zip -r 压缩包的名字.zip 压缩⽂件1 压缩⽂件2 压缩⽂件3 ... -r 是处理⽬录的,对⽬录中的⽂件也进⾏压缩,直接写上就⾏
- 解压缩
unzip -d 解压到⽬录 压缩包包名字 -d 解压到⽬录 可以不写, 如果不写,表示解压到当前⽬录, (这个⽬录可以存在,可以不存在) unzip 压缩包名 # 解压到当前⽬录
-
例如
tar -zcvf test.tar.gz aaa.txt anaconda-ks.cfg
tar -jcvf test.tar.bz2 aaa.txt anaconda-ks.cfg
zip -r test.zip aaa.txt anaconda-ks.cfg
十一、vim命令
-
打开⽂件 vi ⽂件名 —> 命令模式下
-
编辑⽂件 命令模式下 按 i —> 编辑模式/插⼊模式
- 可以按上下左右⽅向键 移动光标, 在指定的位置写⼊内容
-
保存⽂件
- 先按 ESC 进⼊命令模式, 再按 英⽂的冒号:进⼊末⾏模式,输⼊ wq 保存退出
w write 写⼊,保存 q quit 退出 q! 强制退出(不保存退出)
-
由命令模式进⼊编辑模式
- i 光标不会移动
- I(⼤写的 i) 光标移动到⾏⾸
- a 光标会向后移动⼀位
- A 光标移动到⾏尾
- o 在光标下⽅新建⼀⾏
- O 在光标上⽅新建⼀⾏
-
命令模式下的操作
- yy 复制光标所在⾏
- p 在光标下⼀⾏进⾏粘贴
- dd 删除光标所在⾏
- u 撤销
- x 删除光标所在字符
- G 光标快速移动到最后⼀⾏
- gg 光标快速移动到第⼀⾏
十二、其它常用命令
⽂件查找命令
- 语法
find 路径 -name '⽂件名'
# ⽂件名可以使⽤通配符 *(任意个任意字符) ?(⼀个任意字符)
# 注意: ⼀般都在⾃⼰的主⽬录下去操作
软链接
ln -s 源⽂件 链接⽂件
# 1. 软链接只是指向源⽂件的⼀个链接,类似于windows的快捷⽅式。
# 2. 源⽂件要使⽤ **绝对路径** ,不能使⽤相对路径,这样可以⽅便移动链接⽂件后,仍然能够正常使⽤。
# 3. 软链接可以链接⽬录
硬连接 你只能对⽂件创建硬连接,不能对⽬录创建硬连接,⽬录的硬连接 是操作系统⾃动维护的.
其它命令
- which
# which命令⽤于查找⼯具或者程序的安装位置
which 命令 # 查看命令的位置
- 查看操作系统信息
cat /proc/version 查看操作系统版本信息
cat /etc/issue 查看版本当前操作系统发⾏信息
- 重启与关机