文章目录
- Linux 常用命令
- ls (list 列出目录的内容)
- cd (change directory 切换目录)
- pwd (print working directory 显示当前目录)
- 相对路径、绝对路径、特殊路径符
- mkdir (make directory 创建目录)
- touch (创建文件)
- cat (concatenate 查看文件内容,全部展示)
- more (显示文件内容,一页一页显示)
- cp (copy 复制文件)
- mv (move 移动文件/文件夹)
- rm (remove 删除文件/文件夹)
- 通配符
- which (显示可执行文件路径)
- find (查找文件/文件夹)
- grep (在文件中通过关键字过滤文件行)
- wc (word count 词数统计)
- 管道符
- echo (打印内容)
- 重定向符
- tail (查看文件尾部内容,跟踪文件的最新更改)
- vi/vim编辑器
- su (switch user 切换用户)
- exit (退回到上一个用户)
- sudo (super user do 临时以root身份执行命令)
- 为普通用户配置sudo认证
- 创建用户组
- 删除用户组
- 创建用户
- 删除用户
- 查看用户所属组
- 修改用户所属组
- getent (get entries from administrative database 从系统数据库中检索各种信息)
- 权限控制信息
- chmod命令(change mode 修改文件/文件夹的权限信息)
- chown(change owner 修改文件/文件夹的所属用户和用户组)
- yum(RPM包软件管理器,用户自动化安装配置Linux软件,并自动解决依赖问题)
- systemctl(控制软件启动/关闭)
- ln(link 创建软链接)
- date(查看系统日期和时间)
- 修改Linux时区
- 查看IP地址
- 查看主机名
- 修改主机名
- ping(检查指定的网络服务器是否可联通)
- wget(下载文件)
- curl(发起http网络请求)
- 查看端口占用情况
- ps (process status 查看进程信息)
- kill(关闭进程)
- top(实时显示系统资源使用情况)
- df(disk free 查看磁盘使用情况)
- iostat(io status 查看磁盘IO情况)
- sar(网络状态监控)
- 环境变量
- 上传和下载
- tar(压缩和解压tar类型的文件)
- zip(压缩zip类型的文件)
- unzip(解压zip类型的文件)
Linux 常用命令
命令中以
[]
围起来的表示可选项
常用的快捷操作和命令:
Ctrl + l
或clear
清屏Ctrl + c
终止当前命令Ctrl + d
退出当前用户,也可以用于退出某些特定程序的专属页面,比如pythonhistory
查看历史输入过的命令Ctrl + r
历史命令搜索Ctrl + a
跳到命令开头Ctrl + e
跳到命令末尾Ctrl + 键盘左键
向左跳一个单词Ctrl + 键盘右键
向右跳一个单词
ls (list 列出目录的内容)
ls [-a -l -h] [目录路径]
选项:
- -a 显示所有文件,包括隐藏文件
- -l 显示详细信息
- -h 人性化显示文件大小(必须搭配
-l
一起使用)
提示:直接ls会显示当前登录用户的home目录(/home/用户名),并且平铺展示
cd (change directory 切换目录)
cd [目录路径]
提示:cd命令后面不跟路径,则默认切换到当前用户的home目录
pwd (print working directory 显示当前目录)
pwd
相对路径、绝对路径、特殊路径符
- 相对路径:以当前目录为起点,如
./
、../
- 绝对路径:以根目录为起点,如
/
、/home/用户名/Desktop
- 特殊路径符:
~
表示当前用户的home目录.
表示当前目录..
表示上一级目录
mkdir (make directory 创建目录)
mkdir [-p] 目录路径
选项:
- -p 递归创建目录
提示:创建目录时,如果目录名中有空格,需要用
""
括起来
touch (创建文件)
touch 文件路径
cat (concatenate 查看文件内容,全部展示)
cat 文件路径
more (显示文件内容,一页一页显示)
more 文件路径
提示:通过空格翻页;按
q
退出
cp (copy 复制文件)
cp [-r] 源文件路径 目标文件路径
选项:
- -r 递归复制目录
提示:如果目标文件已经存在,则会询问是否覆盖该文件
mv (move 移动文件/文件夹)
mv 源文件路径 目标文件路径
提示:如果目标文件路径不存在,则具有改名效果
rm (remove 删除文件/文件夹)
rm [-r -f] Linux路径(可写多个,空格隔开)
选项:
- -r 递归删除目录
- -f 强制删除(force,不会弹窗询问信息)
通配符
符号*
表示通配符,即匹配任意内容(包含空),示例:
test*
,表示匹配任何以test开头的内容*test
,表示匹配任何以test结尾的内容*test*
,表示匹配任何包含test的内容
演示:
- 删除所有以test开头的文件或文件夹
rm -r test*
- 查找包含test的文件
find / -name "*test*"
which (显示可执行文件路径)
which 可执行文件名
示例:查询pwd命令所在路径
which pwd
find (查找文件/文件夹)
-
按文件名查找
find 起始路径 -name "被查找文件名" [-type x]
-type x 指定查找的文件类型,x可选值为:
- f 表示文件
- d 表示目录
- l 表示链接文件
示例:在/learn目录下查找test.text文件
find /learn -name "test.text" -type f
-
按文件大小查找
find 起始路径 -size +|-n[kMG]
- +|- 表示大于和小于
- n 表示文件大小
- kMG 表示大小单位
- k 表示单位为kb
- M 表示单位为MB
- G 表示单位为GB
示例:
- 查找小于10kb的文件
find / -size -10k
- 查找大于1GB的文件
fint / -size +1G
grep (在文件中通过关键字过滤文件行)
grep [-n] "关键字" 文件路径
选项:
- -n 在结果中显示匹配行的行号
提示:文件路径可作为内容输入端口(即结合管道符使用)
wc (word count 词数统计)
wc [-l -w -c -m] 文件路径
选项:
- -l 统计行数
- -w 统计单词数量
- -c 统计字节数量
- -m 统计字符数量
提示:如果不填写可选参数,则默认显示行数、单词数量、字节数量
管道符
管道符|
表示管道,即将前一个命令的输出作为后一个命令的输入,可嵌套使用
示例:
- 显示abc.txt文件中包含hello的行
cat abc.txt | grep "hello"
- 显示当前目录中文件名是test的文件
ls | grep test
echo (打印内容)
echo "内容"
重定向符
重定向符>
和>>
>
将左侧命令的结果,覆盖写入到符号右侧指定的文件中>>
将左侧命令的结果,追加写入到符号右侧执行的文件中
示例:
- 覆盖
echo "hello" > abc.txt
- 追加
echo "hello" >> abc.txt
tail (查看文件尾部内容,跟踪文件的最新更改)
tail [-f -num] 文件路径
选项:
- -f 持续跟踪
- -num 查看尾部多少行,不填默认10行
vi/vim编辑器
vim 文件路径
提示:如果文件路径标识的文件不存在,则编辑新文件,否则编辑已有文件
- 命令模式:输入
vim
进入命令模式,输入:wq
退出编辑器 - 输入模式: 输入
i a o
进入输入模式,输入ESC
进入命令模式 - 底线命令模式:输入
:
进入底线命令模式,命令回车后进入输入模式
命令模式:
- i 在当前光标位置,进入输入模式
- a 在当前光标后,进入输入模式
- o 在当前行的下一行,进入输入模式
- I 在当前行的开头,进入输入模式
- A 在当前行的结尾,进入输入模式
- O 在当前行的上一行,进入输入模式
- 0 移动到当前行的开头
- $ 移动到当前行的结尾
- / 进入搜索模式
- n 向下继续搜索
- N 向上继续搜索
- dd 删除当前行
- ndd n是数字,表示删除当前行向下n行
- yy 复制当前行
- nyy n是数字,表示复制当前行和下面的n行
- p 粘贴
- u 撤销修改
- ctrl + r 反向撤销修改
- gg 跳到首行
- G 跳到尾行
- dG 从当前行开始,向下全部删除
- dgg 从当前行开始,向上全部删除
- d$ 从当前光标开始,删除到本行的结尾
- d0 从当前光标开始,删除到本行的开头
底线命令模式:
- :wq 保存并退出
- :q 退出
- :q! 强制退出
- :w 保存
- :set nu 显示行号
- :set paste 设置粘贴模式(主要用户外部复制内容到vim时,保持格式不会错乱)
su (switch user 切换用户)
su [-] [用户名]
-
切换用户后加载当前用户的环境变量,建议带上- 用户名 要切换的用户,省略则表示切换到root
提示:
- 使用普通用户切换到其他用户,需要输入密码
- 使用root用户切换到其他用户,无需密码
exit (退回到上一个用户)
exit
提示:也可以使用快捷键:ctrl + d
sudo (super user do 临时以root身份执行命令)
sudo 命令
提示:只有配置了sudo认证的用户,可以使用sudo命令
为普通用户配置sudo认证
- 切换到root用户,执行
visudo
命令(此时会通过vim编辑器打开/ect/sudoers文件) - 在文件最后添加:(username为待配置sudo认证的用户名)
username ALL=(ALL) NOPASSWD:ALL
- :wq进行保存并退出vim编辑
创建用户组
限制:需root权限执行
groupadd 组名
删除用户组
限制:需root权限执行
groupdel 组名
创建用户
限制:需root权限执行
useradd [-g -d] 用户名
选项:
- -g 指定用户的组名,不指定会创建同名组并自动加入,指定则需要组已存在
- -d 指定用户HOME路径,不指定默认为:/home/用户名
删除用户
限制:需root权限执行
userdel [-r] 用户名
选项:
- -r 同时删除用户的HOME目录
查看用户所属组
限制:需root权限执行
id [用户名]
用户名:被查看的用户,不填写则查看当前用户
修改用户所属组
限制:需root权限执行
usermod -aG 用户组 用户名
getent (get entries from administrative database 从系统数据库中检索各种信息)
-
查看系统所有用户信息
getent passwd
返回内容的格式为:
用户名:密码(x):用户ID:组ID:描述信息:HOME目录:执行终端 -
查看系统所有组信息
getent group
返回内容的格式为:
组名:组认证(x):组ID
权限控制信息
权限分为10个槽位,第一个位置为文件类型,后面每3个一组,1-3位所属用户权限,4-7为所属用户组权限,8-10位其他用户权限
例如:drwxr-xr-x
文件类型:
-
文件- d 目录
- l 软链接
权限:
- r 读
- w 写
- x 执行
-
无权限
chmod命令(change mode 修改文件/文件夹的权限信息)
限制:只能是文件、文件夹的所属用户或root用户有权修改
chmod [-R] 权限 目录或文件
选项:
- -R 递归操作
权限写法:
-
普通写法
chmod -R u=rwx,g=rx,o=x test
- u 表示user,所属用户权限
- g 表示group,组权限
- o 表示other,其他用户权限
-
快捷写法
chomd -R 751 test
- r 记为4
- w 记为2
- x 记为1
所以777表示:rwx(7)r-x(5)–x(1)
chown(change owner 修改文件/文件夹的所属用户和用户组)
限制:需root权限执行
chown [-R] [用户][:][用户组] 目录或文件
选项:
- -R 递归修改
- 用户 修改所属用户
- 用户组 修改所属用户组
- : 用于分割用户和用户组
yum(RPM包软件管理器,用户自动化安装配置Linux软件,并自动解决依赖问题)
限制:需root权限执行以及联网
yum [-y] [install | remove | search] 软件名称
选项:
- -y 自动确认,无需手动确认安装或卸载过程
- install 安装
- remove 卸载
- search 搜索
systemctl(控制软件启动/关闭)
限制:需root权限执行,并且该软件自动注册过
systemctl start | stop | status | enable | disable 服务名称
选项:
- start 启动
- stop 关闭
- status 查看状态
- enable 开机自启动
- disable 关闭开机自启动
ln(link 创建软链接)
ln -s 原路径 新路径
选项:
- -s 软链接
date(查看系统日期和时间)
date [-d] [+格式化字符串]
选项:
- -d 按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串
- %Y 年份
- %y 年份后两位
- %m 月份
- %d 日期
- %H 小时
- %M 分钟
- %S 秒
- %s 自1970-01-01 00:00:00 UTC 以来的秒数
示例:
data +%Y-%m-%d
data "+%Y-%m-%d %H:%M:%S" // 带有空格时需要加上双引号
带时间计算的示例:
data -d "+1 day" +%Y-%m-%d
data -d "-1 month" +%Y-%m-%d
支持的时间标记为:
- year 年
- month 月
- day 日
- hour 时
- minute 分
- second 秒
修改Linux时区
限制:需root权限执行
方案一:
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
方案二:
下载npt软件,并设置开机自启,该软件会隔一阵子更新系统时区
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
查看IP地址
ifconfig
查看主机名
hostname
修改主机名
限制:需root权限执行
hostnamectl set-hostname 新主机名
ping(检查指定的网络服务器是否可联通)
ping [-c 次数] 目标IP地址或主机名
选项:
- -c 检查的次数,不使用将无限次持续检查
示例:
ping -c 3 www.baidu.com
wget(下载文件)
wget [-b] 下载地址
选项:
- -b 后台下载,会将日志写入到当前工作目录的wget-log文件
示例:
wget -O test.txt http://www.baidu.com
curl(发起http网络请求)
curl [-O] 请求地址
选项:
- -O 用于下载文件,当请求地址是下载链接时,可使用此选项
示例:
curl cip.cc
curl -O http://****.tar.gz
查看端口占用情况
-
查看指定IP对外暴露端口
yum -y install nmap nmap IP地址
-
查看本机指定端口号的占用情况
yum -y install net-tools netstat -anp | grep 端口号
ps (process status 查看进程信息)
ps [-e -f]
选项:
- -e 显示所有进程
- -f 按照特定的格式显示进程信息
kill(关闭进程)
kill [-9] 进程ID
选项:
- -9 强制关闭进程
top(实时显示系统资源使用情况)
按q
或者Ctrl + c
可退出
top [-p -d -c -n -b -i -u]
选项:
- -p 只显示某个进程的信息
- -d 设置刷新时间,默认是5s
- -c 显示产生进行的完整命令,默认是进程名
- -n 指定刷新次数,比如
top -n 3
,刷新输出3次后退出 - -b 以非交互非全屏模式运行
- -i 不显示任何闲置(idle)或无用(zombie)的进程
- -u 查找特定用户启动的进程
交互式选项:
- h 显示帮助画面
- c 显示进程的完整命令
- f 选择需要展示的列
- M 按照RES排序
- P 按照CPU使用率排序
- T 按照TIME排序
- E 切换顶部内存显示单位
- e 切换进程内存显示单位
- l 切换显示平均负载和启动时间信息
- i 不显示任何闲置(idle)或无用(zombie)的进程
- t 切换显示CPU状态信息
- m 切换显示内存信息
df(disk free 查看磁盘使用情况)
df [-h]
iostat(io status 查看磁盘IO情况)
iostat [-x] [刷新间隔] [刷新次数]
选项:
- -x 显示更多信息
- 刷新间隔 数字
- 刷新次数 数字
sar(网络状态监控)
sar -n DEV [刷新间隔] [刷新几次]
选项:
- -n 查看网络,DEV表示查看网络接口
- 刷新间隔 数字
- 刷新次数 数字
环境变量
环境变量是一组信息记录,类型是KeyValue型,用户操作系统运行的时候记录关键信息
其中PATH变量记录了命令的搜索路径,PATH变量的值是多个路径,用冒号隔开
-
查看环境变量
env
-
查看环境变量中的某个变量名对应的值
echo ${变量名}
示例:
1. echo $PATH 2. echo ${PATH}ABC // 带上花括号可以跟其他字符组合
-
临时设置环境变量
export 变量名=变量值
-
永久设置环境变量 1. 针对当前用户生效,
~/.bashrc
2. 针对所有用户生效,/etc/profile
步骤:
1. cd到对应目录
2. vim打开对应文件,在文件最后并添加环境变量,例如export TEST=123
3. 保存退出,执行source 对应生效目录
即可立即生效提示:如果想给原有PATH变量值追加自定义的路径,可以使用
export PATH=$PATH:自定义路径
这样的格式
上传和下载
先安装上传下载工具
yum -y install lrzsz
-
上传文件(receive zomdem)
rz
cd到想要把文件上传的目录,然后输入
rz
命令后会图像化显示选择文件的弹窗 -
下载文件(send zomdem)
sz 文件名
tar(压缩和解压tar类型的文件)
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
选项:
- -c compress 压缩模式
- -v 显示压缩、解压过程,用于查看进度
- -x 解压模式
- -f 指定压缩文件名,
-f
一定要放在选项最后 - -z gizp模式,一般位于选项首位
- -C 指定解压目录
压缩文件
- .tar格式压缩
tar -cvf 压缩文件名.tar 要压缩的文件
- .tar.gz格式压缩
tar -zcvf 压缩文件名.tar 要压缩的文件
要压缩的文件可以是多个 比如
a.text b.text
解压文件
- .tar格式解压
tar -xvf 要解压的文件
tar -xvf 要解压的文件 -C 指定解压目录
- .tar.gz格式压缩
tar -xvf 要解压的文件
tar -zxvf 要解压的文件 -C 指定解压目录
zip(压缩zip类型的文件)
zip [-r] 压缩文件名.zip 要压缩的文件
选项:
- -r 递归,当被压缩的包含文件夹时使用
要压缩的文件可以是多个 比如
a.text b.text
unzip(解压zip类型的文件)
unzip 解压文件名.zip [-d] 解压到的目录
选项:
- -d 指定解压目录