100 个必须要学会的 Linux Shell 命令
程序员文章站
2022-03-11 15:48:18
...
一,基本操作指令
ls
# 常用的所在目录文件查看指令,ls --help 获取帮助
# 使用实例
ls
ll
# 常用的所以目录文件查看指令,以列表的形式展示,ll --help 获取帮助
# 使用实例
ll -t
cd
# 文件夹切换指令,cd --help 获取帮助
# 使用实例
cd /home
clear
# 清除终端控制台
# 使用实例
clear
vi
# 打开文件并且进行编辑
: w -- 保存文件
: q -- 退出文件
: wq -- 保存并退出文件
: q! -- 强制退出文件
: wq! -- 强制保存并退出文件
dd -- 删除所在文本行
i -- 进入文件编辑状态
u -- 返回上一步的操作
gg -- 切换到文件第一行
GG -- 切换到文件最后一行
/ -- 进入文件搜索
: 10 -- 切换到文件第 10 行
n -- 在文件中向后搜索
N -- 在文件中向前搜索
更多精彩关注老王说编程 >>>
cat
# 查看文件内容,cat --help 获取帮助
# 使用实例
cat test.txt
rm
# 删除文件或文件夹,rm --help 获取帮助
# 使用实例
rm -f test.txt
mkdir
# 创建文件夹,mkdir --help 获取帮助
# 使用实例
mkdir test
touch
# 修改文件的属性,touch --help 获取帮助
# 使用实例
touch test.txt -- 修改文件的时间属性为操作系统当前时间
mv
# 文件移动指令,mv --help 获取帮助
# 使用实例
mv test.txt /home/ctrs/data -- 将当前目录下的 test.txt 移动至 /home/ctrs/data 目录下面
cp
# 文件或文件夹复制指令,cp --help 获取帮助
# 使用实例
cp -r test/ /home/ctrs/data -- 将 test 文件夹复制到 /home/ctrs/data 目录
pwd
# 输出当前路径
# 使用实例
pwd -- 打印当前路径
ip
# 查看操作系统网络 IP,ip --help 获取帮助
# 使用实例
ip address -- 查看系统 IP、网卡信息
ifconfig
# 查看操作系统网络 IP,网卡信息等,和 ip 指令类似,ifconfig --help 获取帮助
# 使用实例
ifconfig -- 查看系统 IP、网卡信息等
ping
# 查看网络地址是否通信正常,ping -help 获取帮助
# 使用实例
ping www.baidu.com -- 查看主机地址是否可以访问
echo
# 直接输出字符串或者变量
# 使用实例
echo "hello world"
tar
# 文件压缩、解压指令,tar --help 获取帮助
# 使用实例
tar -zxvf test.tar.gz -- 解压 test.tar.gz 文件
zip
# zip 类型的文件压缩指令,zip --help 获取帮助
# 使用实例
zip -q -r ctrs.zip /home/ctrs -- 将 /home/ctrs 目录下面的文件夹、文件全部打包到 ctrs.zip
unzip
# zip 类型的文件解压指令,unzip --help 获取帮助
# 使用实例
unzip ctrs.zip -- 将 ctrs.zip 解压到当前目录下
telnet
# 一般用作查看 IP、端口是否可以被访问,telnet --help 获取帮助
# 使用实例
telnet 192.168.11.24 8080 -- 查看地址 192.168.11.24 8080 是否可以被访问
wget
# 文件下载工具,wget --help 获取帮助
# 使用实例
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo -- 下载文件
更多精彩请关注老王说编程>>>
二,系统用户指令
who
# 显示当前用户信息,who --help 获取帮助
# 使用实例
who -q -- 以最精简的信息展示当前登录的用户信息
whoami
# 显示用户名,whoami --help 获取帮助
# 使用实例
whoami -- 显示用户名称
whoami --version -- 显示版本信息
su
# 用户切换指令,su --help 获取帮助
# 使用实例
su root -- 切换至 root 用户
useradd
# 用户添加指令,useradd --help 获取帮助
# 使用实例
useradd testUser -- 添加 testUser 用户
usermod
# 用于更改用户账号的各项设定,usermod --help 获取帮助
# 使用实例
usermod -d /home/ctrs root -- 更改用户登录目录
userdel
# 删除用户账户相关信息,userdel --help 获取帮助
# 使用实例
userdel -r testUser -- 删除用户及目录文件
groupadd
# 创建系统用户组,groupadd --help 获取帮助
# 使用实例
groupadd -g 888 docker -- 创建名称为 docker 的用户组,并且指定组 ID 为 888
groupdel
# 删除用户组,groupdel --help 获取帮助
# 使用实例
groupdel docker -- 删除用户组
passwd
# 修改用户密码,passwd --help 获取帮助
# 使用实例
passwd testUser -- 修改 testUser 用户的密码
groups
# 用于输出用户所属的工作组,groups --help 获取帮助
# 使用实例
groups testUser -- 输出用户 testUser 所属的工作组
history
# 输出当前操作用户使用过的历史指令
# 使用实例
history -- 输出当前操作用户使用过的历史指令
shutdown
# 用于重启、关机等操作,shutdown --help
# 使用实例
shutdown -r now -- 关机后重启系统
login
# 调用重新登录获取切换用户身份
# 使用实例
login -- 重新登录
reboot
# 强制重新启动操作系统,reboot --help 获取帮助
# 使用实例
reboot -- 强制重启
exit
# 退出当前 shell 或是退出终端、或是退出当前用户
# 使用实例
exit -- 退出终端
三,权限相关指令
chown
# 设置文件所有者的使用或是关联信息,chown --help 获取帮助
# 使用实例
chown testUser /home/ctrs/test.txt -- 设置文件d额所有者为 testUser
chgrp
# 变更文件或目录的属性,chgrp --help 获取帮助
# 使用实例
chgrp -v docker test.txt -- 修改文件的群组属性为 docker
sudo
# 使用系统管理员的角色执行指令,sudo --help 获取帮助
# 使用实例
sudo -u testUser ll -t -- 以 testUser 的身份执行 ll -t 命令
更多精彩请关注老王说编程>>>
chmod
# 文件权限修改指令,chmod --help 获取帮助
# 使用实例
chmod 777 test.txt -- 赋予文件可执行权限
四,文件操作指令
sed
# sed 是非常好用的文本处理工具,在使用时配置正则表达式使用,sed --help 获取帮助
# 使用实例
sed '1d' test.txt -- 删除文本中的第一行
file
# 检测或显示文件类型,file --help 获取帮助
# 使用实例
file test.txt -- 输出文件类型
find
# 主要用于根据文件夹目录结构查找文件,find --help 获取帮助
# 使用实例
find /home -print -- 查找 /home 下面的所有文件并打印
tail
# 经常用于查看正在改变的文件,tail --help 获取帮助
# 使用实例
tail -100f test.txt -- 查看文件最后 100 行的改变内容
cut
# 查看文件内容或是提取文件内容中额某些字段,cut --help
# 使用实例
cut -c1-3 test.txt -- 提取出 1-3 位置上的字符
sort
# 对文本文件进行排序的指令,sort --help 获取帮助
# 使用实例
sort test.txt -- 以默认的格式对文件里面的行进行排序
more
# 以每一页的形式对文件进行阅读,类似于 cat 指令,more --help 获取帮助
# 使用实例
more -s test.txt -- 逐行显示文件内容
五,常用运维指令
source
# 经常用于初始化操作系统的环境变量修改使之立即生效,也可用作执行 shell 脚本
# 使用实例
source profile -- 使环境变量配置立即生效
free
# 输出内存状态的指令,free --help 获取帮助
# 使用实例
free -m -- 以 MB 的大小格式显示内存状态
top
# 实时展示进程信息,top --help 获取帮助
# 使用实例
top -d 1 -- 表示更新周期为 1 秒
lscpu
# 输出 CPU 相关信息的指令,lscpu --help 获取帮助
# 使用实例
lscpu -- 输出 CPU 架构信息
ps
# 当前进程信息输出的指令,ps --help 获取帮助
# 使用实例
ps -ef |grep java -- 查看 java 进程信息
grep
# 文本字符串的查找指令,grep --help 获取帮助
# 使用实例
grep -r hello /home/ctrs/ -- 查找 /home/ctrs/ 目录下面的所包含 hello 字符串的文件
管道 |
# 两个命令之间的连接符,将第一个命令的结果作为第二个命令的参数
# 使用实例
ls -l |more -- 分页显示文件列表
wc
# 主要用于计算字数,wc --help 获取帮助
# 使用实例
wc -l -- 显示行数
df
# 文件系统磁盘的使用情况指令,df --help 获取帮助
# 使用实例
df --total -- 显示所有信息
du
# 用以输出文件或是文件夹的大小
# 使用实例
du -h /home -- 输出 home 文件夹下面的文件占用大小列表
kill
# 删除正在进行中的工作或程序,kill --help 获取帮助
# 使用实例
kill 3210 -- 停止进程 PID 为 3210 的进程
tree
# 以树形的形状输出当前目录结构,tree --help 获取帮助
# 使用实例
tree -- 以树形的形状输出当前目录结构
更多精彩请关注老王说编程>>>
scp
# 远程传输的形式复制两个操作系统之间的文件或目录,scp --help 获取帮助
# 使用实例
scp test.txt root@192.168.22.10:/home -- 将本地的 test.txt 文件复制到主机为 192.168.22.10 下面的 home 文件夹下面
fdisk
# 创建和维护分区列表的指令,fdisk --help 获取帮助
# 使用实例
fdisk -l -- 显示当前的分区信息
type
# 输出命令类型、信息等,type --help 获取帮助
# 使用实例
type ls -- 输出 ls 命令的类型、信息
crontab
# 查看或编辑定时任务的指令,crontab --help 获取帮助
# 使用实例
crontab -e -- 编辑定时任务
less
# 浏览文件的指令,和 more 指令类似,less --help 获取帮助
# 使用实例
ps -ef |less -- 查看进程信息,并通过 less 分页展示
head
# 查看文件头部开始的文件内容,head --help 获取帮助
# 使用实例
head -n 3 test.txt -- 输出文件开头 3 行的内容
diff
# 比较两个文件文本的差异,diff --help 获取帮助
# 使用实例
diff test1.txt test2.txt -- 比较 test1.txt 和 test2.txt 之间的文本差异
route
# 网络路由信息的编辑和查看,route --help 获取帮助
# 使用实例
route -n -- 查看路由信息
date
# 输出或设定系统时间的指令,date --help
# 使用实例
date '+%c' -- 显示当前的时间
yum
# Linux 系统的软件包管理工具,yum --help 获取帮助
# 使用实例
yum install vim -- 安装 vim 文件编辑工具
awk
# 处理文件文本的分析工具,awk --help 获取帮助
# 使用实例
awk '{print $1,$4}' test.txt -- 输出 test.txt 文件的第一个和第四个字段的值
ln
# 为文件在另外一个目录结构下面建立链接,ln --help 获取帮助
# 使用实例
ln -s ‘源文件’ ‘目标文件’ -- 为源文件建立软链接
sftp
# 交互式的文件传输工具,加密性比 ftp 更高,sftp --help
# 使用实例
sftp root@192.168.22.10 -- sftp 登录 192.168.22.10 之后使用 get 命令下载
umount
# 卸载文件系统的指令,umount --help 获取帮助
# 使用实例
umount -v /mnt/mount/ -- 通过挂载点进行卸载
netstat
# 网络状态信息查看的指令,netstat --help 获取帮助
# 使用实例
netstat -a -- 显示详细的网络状况
traceroute
# 路由跟踪指令,traceroute --help 获取帮助
# 使用实例
traceroute www.baidu.com -- 跟踪到百度经过的路由地址
last
# 显示用户最新的登录信息,last --help 获取帮助
# 使用实例
last -n 10 -a -i -- 输出最近 10 个用户登录的信息
nohup
# 在后台执行程序的指令
# 使用实例
nohup /home/test.sh & -- 在后台运行 test.sh 脚本
look
# 用于查询单词的指令,look --help 获取帮助
# 使用实例
look K test.txt -- 查询 test.txt 文件里面 K 字母开头的行
whereis
# 一般用于查看文件或指令的来源,whereis --help 获取帮助
# 使用实例
whereis bash
locate
# 查找符合条件的文档,locate --help 获取帮助
# 使用实例
locate ll -- 查找 ll 命令的来源文件
tee
# 读取标准输入数据并生成文件,tee --help 获取帮助
# 使用实例
tee test1.txt test2.txt -- 将某内容同时写入两个文件中
uniq
# 检查或发现文本中相关的内容进行删除,uniq --help 获取帮助
# 使用实例
uniq test.txt -- 删除 test.txt 文件中相同的文本行
read
# 读取键盘输入的数值,read --help 获取帮助
# 使用实例
echo "请输入: "
#读取输入
read inStr
# 输出刚刚输入的内容
echo "输入的内容是 $inStr
fold
# 限制文件文本的列宽,fold --help 获取帮助
# 使用实例
fold -w 30 test.txt -- 限制 test.txt 文件的列宽为 30
rmdir
# 删除空目录
# 使用实例
rmdir test/ -- 删除 test 子目录
rmdir /home/test/ -- 删除 test 子目录后,若 /home 目录为空则也将其删除
stat
# 输出 inode 内容的指令
# 使用实例
stat test.txt --输出 test.txt 文件的 inode 内容
man
# 搜索其他指令帮助信息的指令
# 使用实例
man ls -- 查看指令 ls 的帮助信息,查看完毕之后使用 q 键退出
mount
# 挂载操作系统文件,mount --help 获取帮助
# 使用实例
mount /dev/sda1 /root -- 将 /dev/sda1 挂载在 /root 下面
which
# 查找文件的指令
# 使用实例
which bash -- 查找 bash 文件地址
更多精彩请关注老王说编程>>>
上一篇: HTML+CSS(11)
下一篇: FLASH写入出错问题记录