Linux常见命令



Linux的命令笔者就老是记不住,一旦要用到的时候就各种找,所以这里列出学习过程中所遇到的,方便回看。列出的命令及其选项是笔者使用过的, 并不是完整的内容,详情可 Linxu命令大全


一. 常见快捷键

Tab:自动补全
^ + S:停止
^ + Q:恢复
^ + C:中断
^ + L:清屏
^ + A:光标移到行头(输入命令中)
^ + E:光标移到行尾(输入命令中)
^ + Z:后台挂起任务


二. 命令的格式

命令名称 [命令参数] [命令对象]



三. 其他


1. 输出重定向

>  保存到文件
>> 追加到文件

2. 管道

命令1 | 命令2 |命令n:将前一条命令执行结果通过标准输出送给后一命令作为输入数据

3. 文件类型

- :普通文件
d :目录
l :连接文件
b :设备块

黑色背景命令行状态下
白色:普通文件
蓝色:目录
绿色:可执行文件
红色:压缩文件
黄色:设备文件
浅蓝色:链接文件




四. 工作目录切换


1. cd

cd    进入用户主目录
cd ~  进入用户主目录
cd -  返回本次操作前的目录
cd .. 返回上级目录
cd /  进入根目录

2. ls

-C:多列显示文件及目录,默认
-a:显示所有文件及目录,包括隐藏文件
-l:详细显示文件及目录,简化命令 ll

3. pwd

显示当前目录的绝对目录




五. 文件目录管理


1. touch

不存在则创建文件,否则更新修改时间

2. mkdir

-p:递归创建目录
-m:创建目录赋予权限
名字用空格隔开表示创建多个同级目录


3. cp [选项] [源文件/目录] [目的目录]

# 最后一个一定是目的目录,前面的都是需要复制的
-r:递归处理


4. mv [选项] [源文件/目录] [目的目录]

-i:文件存在覆盖前询问
改名:mv file1 file2
移动:mv file1 /opt


5. rm

-r:递归处理
-f:强制删除文件或目录
-i:删除前询问


6. chmod

u:文件的拥有者
g:同组
o:其他以外的人
a:三者皆是

+:增加权限
-:取消权限
=:唯一设定权限

-R:递归处理

# 更改权限
chmod +x helloWorld.sh






六. 文本文件编辑命令


1. cat

-n:显示行号

cat file1 标准输出中显示
cat file1 file2 同时显示两个文件
cat file1 file2 > file3 将前二者合并到file3中


2. more

Space:翻屏
Enter:下一行
b:回退一行/一屏
=:当前行号
v:用vim打开当前内容
Q:退出more命令
H:显示帮助


3. head

显示文头

head -100 显示头部100行


4. tail

显示文末

tail +100 file1 从100行到文末
tail -50  file1 从文末开始算显示50行


5. wc

-l 统计行数
-w 统计字数
-c 统计字节数

wc -l file1 统计行数


6. stat

-t:简介输出
-f:显示文件系统状态
默认:显示文件状态


7. diff

显示结果中:a、b、c 分别表示添加、删除、修改
这些字母前后分别表示二者文件不同的行号





七. 打包压缩与搜索命令


1. find [搜索范围] [匹配条件]

find ./ -name file.txt
find ./ -size +100000K


2. grep [选项] [指定串] [文件]

-a 文本方式搜索
-n 输出行号
-v 反向搜索

# 去除注释
cat xxx.conf | grep -v "#" | grep -v "^$"

3. tar

这里要说明一点:打包和压缩是不同的概念。打包是将多个文件变成一个文件,压缩则是将大文件压缩成小文件,通常只支持对一个文件压缩,所以我们得先将多个文件打包成一个总文件才能进行压缩

-c:建立新备份文件(类似于另存为)
-v:显示指令执行过程
-x:还原备份文件
-t:列出备份文件列表
-f:取名,一般自行取.tar结尾
-z:gzip压缩或ungzip,取名时应.tar.gz

tar -zcvf file.tar.gz file 打包后压缩
tar -zxvf file.tar.gz	   解压缩解包
tar -ztvf file.tar.gz	   显示内容列表





八. 系统工作命令


1. ps

-e:显示所有进程
-f:显示UID,PID,PPID

ps -f
UID         PID   PPID  C STIME TTY          TIME CMD
howl      22537  22527  0 14:49 pts/0    00:00:00 bash
howl      23720  22537  0 15:04 pts/0    00:00:00 ps -f

常配合grep使用
ps -ef | grep bash :找出带有bash行的进程


2. kill

杀死指定进程:指定PID


3. clear

清屏


4.jobs、bg、fg

jobs:显示当前暂停的进程
bg N:使第N个任务在后台运行
fg N:使第N个任务在前台运行
不带数字,默认最后一个任务


5. reboot、shutdown、who

reboot:重启
shutdown:关机
who:查看在线用户

# 关机操作
who:先查看哪些用户在线
shutdown +10 "十分钟后将关机":通知其他用户关机信息


6. wget

-b:后台运行
-P:下载到指定文件(大写)

# 后台运行指定目录file中
wget -bP file http://download.redis.io/releases/redis-5.0.5.tar.gz


7. rpm、yum

rpm:软件包管理,其包名以.rpm结尾,使用rpm可安装查询卸载软件,缺点与依赖关系复杂
yum:基于rpm包管理,自动下载依赖并安装rpm包

rpm:
-a:显示已经安装的软件包
-q:查询一个包是否已经安装
# 查询指定软件包是否安装
rpm -qa | grep screen

yum:
-y:所有提问回答yes
install:安装rpm软件包
update:更新rpm软件包
check-update:检查是否有可用的更新rpm软件包
remove:删除指定的rpm软件包


8. su、su - 、sudo

su:切换root,需要知道root密码
su - :切换root,连shell环境也切换了
sudo:运行已授权用户以超级用户或者其它用户的角色运行一个命令


9. netstat

n:不DNS轮询,显示IP
t:显示TCP端口
u:显示UDP端口
l:仅显示套接字
p:显示进程标识符和程序名称

# 查看80端口
netstat -ntp | grep 80


10. firewall-cmd

--query-port=<端口号>/<protocol>:查询指定端口
--add-port=<端口号>/<protocol>:开放端口
--remove-port=<端口号>/<protocol>:关闭端口

--zone=public:作用域
--permanent:永久生效
--reload:重启防火墙


# 查询是否开启
firewall-cmd --zone=public --query-port=80/tcp

# 开启防火墙端口
firewall-cmd --zone=public --add-port=80/tcp --permanent


11. systemctl

systemctl:进程操作命令
start  开启
stop  停止
enable 开机自启
daemon-reload  重载修改过的服务配置文件,新安装一个服务属于systemctl管理

eg:systemctl start docker


原文地址:https://www.cnblogs.com/Howlet/p/12463083.html