Linux常见命令

2020-03-19 10:46:16 浏览数 (2)


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

一. 常见快捷键

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

二. 命令的格式

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

三. 其他

1. 输出重定向
代码语言:javascript复制
>  保存到文件
>> 追加到文件
2. 管道
代码语言:javascript复制
命令1 | 命令2 |命令n:将前一条命令执行结果通过标准输出送给后一命令作为输入数据
3. 文件类型
代码语言:javascript复制
- :普通文件
d :目录
l :连接文件
b :设备块

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

四. 工作目录切换

1. cd
代码语言:javascript复制
cd    进入用户主目录
cd ~  进入用户主目录
cd -  返回本次操作前的目录
cd .. 返回上级目录
cd /  进入根目录
2. ls
代码语言:javascript复制
-C:多列显示文件及目录,默认
-a:显示所有文件及目录,包括隐藏文件
-l:详细显示文件及目录,简化命令 ll
3. pwd
代码语言:javascript复制
显示当前目录的绝对目录

五. 文件目录管理

1. touch
代码语言:javascript复制
不存在则创建文件,否则更新修改时间
2. mkdir
代码语言:javascript复制
-p:递归创建目录
-m:创建目录赋予权限
名字用空格隔开表示创建多个同级目录
3. cp [选项] [源文件/目录] [目的目录]
代码语言:javascript复制
# 最后一个一定是目的目录,前面的都是需要复制的
-r:递归处理
4. mv [选项] [源文件/目录] [目的目录]
代码语言:javascript复制
-i:文件存在覆盖前询问
改名:mv file1 file2
移动:mv file1 /opt
5. rm
代码语言:javascript复制
-r:递归处理
-f:强制删除文件或目录
-i:删除前询问
6. chmod
代码语言:javascript复制
u:文件的拥有者
g:同组
o:其他以外的人
a:三者皆是

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

-R:递归处理

# 更改权限
chmod  x helloWorld.sh

六. 文本文件编辑命令

1. cat
代码语言:javascript复制
-n:显示行号

cat file1 标准输出中显示
cat file1 file2 同时显示两个文件
cat file1 file2 > file3 将前二者合并到file3中
2. more
代码语言:javascript复制
Space:翻屏
Enter:下一行
b:回退一行/一屏
=:当前行号
v:用vim打开当前内容
Q:退出more命令
H:显示帮助
3. head
代码语言:javascript复制
显示文头

head  100 显示头部100行
4. tail
代码语言:javascript复制
显示文末

tail  100 file1 从100行到文末
tail -50  file1 从文末开始算显示50行
5. wc
代码语言:javascript复制
-l 统计行数
-w 统计字数
-c 统计字节数

wc -l file1 统计行数
6. stat
代码语言:javascript复制
-t:简介输出
-f:显示文件系统状态
默认:显示文件状态
7. diff
代码语言:javascript复制
显示结果中:a、b、c 分别表示添加、删除、修改
这些字母前后分别表示二者文件不同的行号

七. 打包压缩与搜索命令

1. find [搜索范围] [匹配条件]
代码语言:javascript复制
find ./ -name file.txt
find ./ -size  100000K
2. grep [选项] [指定串] [文件]
代码语言:javascript复制
-a 文本方式搜索
-n 输出行号
-v 反向搜索
3. tar
代码语言:javascript复制
这里要说明一点:打包和压缩是不同的概念。打包是将多个文件变成一个文件,压缩则是将大文件压缩成小文件,通常只支持对一个文件压缩,所以我们得先将多个文件打包成一个总文件才能进行压缩

-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
代码语言:javascript复制
-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
代码语言:javascript复制
杀死指定进程:指定PID
3. clear
代码语言:javascript复制
清屏
4.jobs、bg、fg
代码语言:javascript复制
jobs:显示当前暂停的进程
bg N:使第N个任务在后台运行
fg N:使第N个任务在前台运行
不带数字,默认最后一个任务
5. reboot、shutdown、who
代码语言:javascript复制
reboot:重启
shutdown:关机
who:查看在线用户

# 关机操作
who:先查看哪些用户在线
shutdown  10 "十分钟后将关机":通知其他用户关机信息
6. wget
代码语言:javascript复制
-b:后台运行
-P:下载到指定文件(大写)

# 后台运行指定目录file中
wget -bP file http://download.redis.io/releases/redis-5.0.5.tar.gz
7. rpm、yum
代码语言:javascript复制
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
代码语言:javascript复制
su:切换root,需要知道root密码
su - :切换root,连shell环境也切换了
sudo:运行已授权用户以超级用户或者其它用户的角色运行一个命令
9. netstat
代码语言:javascript复制
n:不DNS轮询,显示IP
t:显示TCP端口
u:显示UDP端口
l:仅显示套接字
p:显示进程标识符和程序名称

# 查看80端口
netstat -ntp | grep 80
10. firewall-cmd
代码语言:javascript复制
--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

0 人点赞