Linux常用命令
Linux下一切皆文件
1.Linux终端命令格式
1.1终端命令格式
command [-options] [parameter]
- command:命令名,相应功能的英文单词或单词的缩写
- [-options]:选项,可用来对命令进行控制,也可以省略
- parameter:传给命令的参数,可以是 零个、一个 或者 多个
1.2查阅命令帮助信息
command -help 显示command命令的帮助信息
command -man 查阅command命令的使用手册
使用man时的操作键
空格键显示手册页的下一屏Enter键一次滚动手册页的一行b回滚一屏f前滚一屏q退出/word搜索word字符串
2.放大缩小终端窗口的字体
ctrl shift +放大
ctrl - 缩小
ctrl shift 0 恢复默认大小
3.查找文件
find [路径] -name “文件名” 查找指定路径下的文件,包括子目录
- 如果省略路径,表示在当前文件夹下查找
4.软、硬链接
4.1软连接——指向目标文件的快捷方式
ln 源文件 硬链接名
4.2硬链接——同一个文件的多个名字
ln -s 源文件 软链接名

5.打包压缩
5.1打包解包
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
# 解包文件
tar -xvf 打包文件.tar
-c生成档案文件,创建打包文件-x解开档案文件-v列出归档解档的详细过程,显示进度-f指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后-z调用 gzip-j调用 bzip2
5.2压缩/解压缩
5.2.1 gzip
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
- 解压缩到指定目录,注意:要解压缩的目录必须存在
5.2.2 bzip2
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2

6.软件安装
# 1. 安装软件
$ sudo apt install 软件包
# 2. 卸载软件
$ sudo apt remove 软件名
# 3. 更新已安装的包
$ sudo apt upgrade
7.文件和目录常用命令
7.1查看目录内容
7.1.1 ls常用选项
-a显示指定目录下所有子目录与文件,包括隐藏文件-l以列表方式显示文件的详细信息-h配合-l以人性化的方式显示文件大小
7.1.2 ls通配符的使用
*代表任意个数个字符?代表任意一个字符,至少 1 个[]表示可以匹配字符组中的任一一个[abc] 匹配a、b、c中的任意一个[a-f]匹配从a到f范围内的的任意一个字符
7.2切换目录
7.2.1 cd
cd切换到当前用户的主目录(/home/用户目录)cd ~切换到当前用户的主目录(/home/用户目录)cd .保持在当前目录不变cd ...切换到上级目录cd -可以在最近两次工作目录之间来回切换
7.2.2 相对路径和绝对路径
相对路径 在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
绝对路径 在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体目录位置
7.3创建和删除操作
7.3.1 touch
- 创建文件或修改文件时间
- 如果文件 不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
7.3.2 mkdir
- 创建一个新的目录
-p可以递归创建目录
7.3.3 rm
- 删除文件或目录,删除后不能恢复
-f强制删除,忽略不存在的文件,无需提示-r递归地删除目录下的内容,删除文件夹时必须加此参数
7.4拷贝和移动文件
7.4.1 tree
- 以树状图列出文件目录结构
tree [目录名]-d只显示目录
7.4.2 cp
- 将给出的文件或目录复制到另一个文件或目录中
cp 源文件目标文件-i在覆盖已有文件之前,会先询问用户是否确认覆盖-r若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
7.4.3 mv
- 移动文件或目录,也可以给文件或目录重命名
mv [选项] 源文件/目录 目标文件/目录-i在覆盖已有文件之前,会先询问用户是否确认覆盖
7.5查看文件内容
7.5.1 cat
- 查看文件内容、创建文件、文件合并、追加文件内容等功能,一次显示所有的内容
cat 文件名-b对非空输出行编号-n对输出的所有行编号
7.5.2 more
- 用于分屏显示文件内容,每次只显示一页内容
more 文件名
使用more的操作键
空格键显示手册页的下一屏Enter键一次滚动手册页的一行b回滚一屏f前滚一屏bq 退出/word搜索word字符串
7.5.3 grep
- 搜索文本文件内容
grep 搜索文本 文件名-n显示匹配行及行号-v显示不包含匹配文本的所有行(相当于求反)-i忽略大小写
常用的两种模式查找
^a行首,搜寻以 a 开头的行ke$行尾,搜寻以 ke 结束的行
8.echo
echo 文字内容在终端中显示参数指定的文字
9.重定向>和>>
- 改变命令输出的默认方向
>表示输出,会覆盖文件原有的内容>>表示追加,会将内容追加到已有文件的末尾
10.管道 |
- 将一个命令的输出可以通过管道做为另一个命令的输入
命令1 [选项] [参数] | 命令2 [选项] [参数]more分屏显示内容grep在命令执行结果的基础上查询指定的文本原始命令 | grep [搜索选项] "搜索关键词" | more当你需要在大量内容中搜索特定文本,或者分页查看时,通常使用这个结构
11.系统信息相关命令
11.1时间和日期
date查看系统时间cal查看日历, -y选项可以查看一年的日历
11.2磁盘信息
df -h显示磁盘剩余空间du -h [目录名]显示目录下的文件大小
11.3进程信息
ps aux查看进程的详细状况top动态显示运行中的进程并且排序kill [-9] 进程代号终止指定代号的进程,-9表示强行终止,[]表示这部分是可选的
12. ps
ps aux查看系统中所有正在运行进程的详细状态a显示终端上的所有进程,包括其他用户的进程u显示进程的详细状态x显示没有控制终端的进程
13.用户权限相关命令
13.1组管理
创建组/删除组的终端命令都需要通过sudo执行
groupadd 组名添加组groupdel 组名删除组cat /etc/group确认组信息,组信息保存在/etc/group文件中,/etc目录是专门用来保存系统配置信息的目录chgrp -R 组名 文件/目录名递归修改文件/目录的所属组
13.2用户管理
创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行
- 命令 作用 说明
useradd -m -g 组新建用户添加新用户-m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和同名的组passwd 用户名设置用户密码如果是普通用户,直接用 passwd可以修改自己的账户密码userdel -r 用户名删除用户-r选项会自动删除用户家目录cat /etc/passwd | grep 用户名确认用户信息新建用户后,用户信息会保存在/etc/passwd文件中- 创建用户时,如果忘记添加 -m 选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建
- 创建用户时,默认会创建一个和用户名同名的组名
- 用户信息保存在 /etc/passwd 文件中
查看用户信息
id [用户名]查看用户 UID 和 GID 信息who查看当前所有登录的用户列表whoami查看当前登录用户的账户名
14.which
- 查看执行命令所在位置
which ls
# 输出
# /bin/ls
which useradd
# 输出
# /usr/sbin/useradd
15.切换用户
su - 用户名切换用户,并且切换目录 -可以切换到用户家目录,否则保持位置不变exit退出当前登录账户
16.修改文件权限
chown修改拥有者chgrp修改组chmod修改权限
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
# 递归修改文件权限
chmod -R 755 文件名|目录名
17.远程管理常用命令
shutdown关机/重新启动
# 重新启动操作系统,其中 now 表示现在
$ shutdown -r now
# 立刻关机,其中 now 表示现在
$ shutdown now
# 系统在今天的 20:25 会关机
$ shutdown 20:25
# 系统再过十分钟后自动关机
$ shutdown +10
# 取消之前指定的关机计划
$ shutdown -c
不指定选项和参数,默认表示 1 分钟之后 关闭电脑
18.查看配置网卡信息
ifconfig查看/配置计算机当前的网卡配置信息ping ip地址检测到目标ip地址的连接是否正常
# 查看网卡配置信息
$ ifconfig
# 查看网卡对应的IP地址
$ ifconfig | grep inet
# 检测到目标主机是否连接正常
$ ping IP地址
# 检测本地网卡工作正常
$ ping 127.0.0.1
19.远程登录和赋值文件
ssh 用户名@ip关机/重新启动scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径远程复制文件ssh [-p port] user@remote- user是在远程机器上的用户名,如果不指定的话默认为当前用户
- remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名
- port是SSH Server监听的端口,如果不指定,就为默认值22
20.scp
- 远程拷贝文件
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
-r若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名-P若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口

浙公网安备 33010602011771号