100 个必须要学会的 Linux Shell 命令

Python集中营
一,基本操作指令

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 文件地址

更多精彩请关注老王说编程>>>
在这里插入图片描述

阅读 141
6 声望
1 粉丝
0 条评论
你知道吗?

6 声望
1 粉丝
宣传栏