Linux常见命令

一、基本命令

1.1关机和重启

关机(halt)

bash 复制代码
shutdown -h now                   立刻关机
shutdown -h 5                          五分钟后关机
poweroff                                  立刻关机

重启(reboot)

bash 复制代码
shutdown -r now                       立刻重启
shutdown -r 5                          五分钟后重启
reboot                                       立刻重启

1.2帮助命令

--help

bash 复制代码
shutdown --help #查看shutdown帮助文档
ifconfig  --help                   查看网卡信息

man(命令说明书)

bash 复制代码
man shutdown                        #查看shutdown帮助文档
打开命令说明书之后,使用按键q退出

二、目录操作命令

2.1 目录切换 cd

bash 复制代码
cd ~              切换到home目录
cd /            切换到根目录
cd ..                切换到上一级目录
cd /usr                     切换到指定目录
cd -                 切换到上次访问的目录

2.2 目录查看 ls [-al]

bash 复制代码
ls             查看当前目录下的所有目录和文件信息
ls -a           查看当前目录下的所有目录和文件信息(包含隐藏文件)
ls -l           (简写ll)查看当前目录下的所有目录和文件信息(包含详细
信息)
ls  /dir             查看指定文件下的目录和文件信息

2.3 目录操作(CRUD)

2.3.1 目录创建

命令: mkdir 目录

bash 复制代码
mkdir  /aaa
mkdir  /usr/aaa

2.3.2 目录删除

命令:rm [-rf] 目录

删除文件
bash 复制代码
rm 文件
rm -f              不询问的删除文件信息
#### 删除目录
rm -r             递归删除目录和文件信息
rm -rf              不询问递归的删除当前目录下的所有文件和目录信息
#### 全部删除
rm -rf /*               【自杀命令!慎用!】将根目录下的所有文件全部删除
rm -rf *                 将当前目录下的所有目录和文件全部删除

2.3.3 目录修改【改】mv 和 cp

1.修改目录名称

命令:mv 当前目录 新目录

bash 复制代码
mv aaa bbb             将qqq目录名称改为bbb

mv命令同时可对目录,文件,压缩包等进行修改。
2.剪切目录

命令:mv 目录名称 目录的新位置

bash 复制代码
mv      /usr/etc/aaa   /usr      递归的将/usr/etc/aaa剪切到/usr

不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
3.复制目录

命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归

bash 复制代码
cp -r 目录名称 目录拷贝的目标位置        -r代表递归

cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

2.3.4目录搜索

bash 复制代码
find /path/to/search -name "filename"
find /usr/tmp -name 'a*'    查找/usr/tmp目录下的所有以a开头的目录或文件

#查找所有 .sh 结尾的文件
find /home -type f -name "*.sh"

三、文件操作命令

3.1文件操作(CRUD)

3.1.1新增文件

命令:touch 文件名

bash 复制代码
touch aaa.txt     创建文件

3.1.2删除文件

命令:

bash 复制代码
rm 文件名
rm -rf 文件名

3.1.3修改文件

【vi编辑器的3种模式】

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令模式:

常见用法:

1.dd 删除当前行

2./搜索的词 eg:/text

光标之后的第一个匹配项,没找到会循环查找

3.:可以退出命令行模式进入底行模式

4.a,i,o 可以从命令行模式进入插入模式

5.上下左右箭头控制光标位置
底行模式

1.wq 保存并退出

  1. q!强制退出(不保存)

  2. 退出编辑: :q

  3. set number 文件设置行号

编辑模式(插入模式)

再插入模式下。才能写入数据,ESC可以退出编辑模式进入命令模式。
打开文件

命令:vi 文件名

示例:打开当前目录下的aa.txt文件

bash 复制代码
  vi aa.txt 
  # 或者
   vim aa.txtvi aaa.txt  

打开后默认进入命令行模式,使用a/i/o才可进入插入模式。
编辑文件

vim 文件名进入后,选择a/i/o进入编辑模式。

i:在光标所在字符前开始插入

a:在光标所在字符后开始插入

o:在光标所在行的下面另起一新行插入
保存或退出编辑

编辑完成后,ESC进入命令行模式,:进入底行模式,

在底行输入

wq 保存并退出编辑

q!撤销本次修改并退出编辑

3.1.4 查看文件

文章查看读取命令: cat,less,more,tail

1.cat:看最后一屏

示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容

bash 复制代码
cat sudo.conf

2.less: 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q或者ctrl+c结束查看

bash 复制代码
less sudo.conf

3.more:百分比显示

使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q或者ctrl+C可以退出查看

4.tail: 查看文件末尾行数

使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束

bash 复制代码
tail -10 sudo.conf

用途:快速查看日志或大文件的结尾内容,而不需要从头打开整个文件。

bash 复制代码
tail -f file.log   实时监控日志追加
tail -F file.log	支持日志轮转、文件重建

3.2 权限修改

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------

第一位:-就代表是文件,d代表是文件夹

第一段(3位):代表拥有者的权限

第二段(3位):代表拥有者所在的组,组员的权限

第三段(最后3位):代表的是其他用户的权限

四、压缩文件操作

4.1打包和压缩

window系统下的压缩包为rar/zip

linux系统压缩包为zzz.gz

linux系统打包文件为zzz.tar

一般为打包压缩文件zzz.tar.gz

命令:tar -zcvf 压缩后的文件名 要压缩的文件

示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar

bash 复制代码
tar -zcvf   zzz.tar.gz usr/tmp 

4.2解压

命令:tar -zxvf 要解压的文件

示例:将/usr/tmp 下的ab.tar解压到当前目录下

bash 复制代码
tar -zxvf      ab.tar

示例:将/usr/tmp 下的ab.tar解压到根目录/usr下

bash 复制代码
tar -xvf ab.tar -C /usr

-C代表指定解压的位置

五、查找命令

5.1grep指令

语法: grep [选项] 搜寻字符串文件

常用选项

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

日志错误分析案例

1.查找包含 error 的行(忽略大小写),并显示行号

bash 复制代码
grep -i -n 'error' /var/log/app.log

用于快速定位日志中所有报错行。-i 忽略大小写,-n 显示行号。

2.只显示匹配内容(错误关键字本身),并统计出现次数

bash 复制代码
grep -i -o 'error' /var/log/app.log | wc -l

-o 只输出匹配到的单词(不是整行),再用 wc -l 得到 错误总次数。

  1. 查看错误前后 3 行上下文
bash 复制代码
grep -i -C 3 'error' /var/log/app.log

-C (context) 可以带出上下文,方便分析报错前后的请求/状态。

4.实时监控日志中的错误

bash 复制代码
tail -F /var/log/app.log | grep --line-buffered -i 'error'

tail -F 实时输出日志追加部分;grep --line-buffered 避免缓冲卡住,适合监控。

进程查找案例

1.查找 nginx 进程

ps aux | grep '[n]ginx'

经典写法,避免匹配到 grep nginx 自己。

2.查找进程并显示 PID

ps -ef | grep '[j]ava' | awk '{print $2}'

在 ps -ef 的输出中,第二列是 PID(进程 ID),所以 {print $2} 就是打印 进程 ID。

3.找占用内存/CPU 高的进程再筛选

ps aux --sort=-%mem | head -20 | grep '[j]ava'

a:显示所有终端上的进程

u:以"用户友好格式"显示(包含 CPU、内存、用户等)

x:显示没有控制终端的进程(如后台服务)

--sort=-%mem

作用:按 内存使用率(%MEM)降序排列

  • 表示降序(从高到低)
    %mem 是内存使用百分比

head -20

作用:取前面 20 行(第一行是表头,19个进程)

grep '[j]ava'

作用:从这 20 行中筛选出包含 java 的行

5.2 find指令

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

使用实例:

bash 复制代码
find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
find /root/ -perm 600   查找/root/目录下权限为600的文件 
find . -type f -name "*.log"  查找当目录,以.log结尾的普通文件 
find . -type d | sort   查找当前所有目录并排序 
find . -size +100M  查找当前目录大于100M的文件

六、su、sudo

6.1 su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

bash 复制代码
su test:          切换到test用户,但是路径还是/root目录
su - test         切换到test用户,路径变成了/home/test
su               切换到root用户,但是路径还是原来的路径
su -                切换到root用户,并且路径是/root

6.2 sudo

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。

七、其他命令

7.1 查看当前目录:pwd

命令:pwd 查看当前目录路径

7.2 查看进程:ps -ef

命令:ps -ef

作用:列出系统中所有正在运行的进程。

-e:显示所有进程(every process)

-f:使用"全格式"(full format),显示详细信息,包括:

UID(用户)

PID(进程 ID)

PPID(父进程 ID)

CMD(命令)

7.3 结束进程:kill

命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号

7.4 网络通信命令:

ifconfig:查看网卡信息

命令:ifconfig 或 ifconfig | more

ping:查看与某台机器的连接情况

bash 复制代码
命令:ping ip

7.5 清屏

bash 复制代码
clear
相关推荐
IT 小阿姨(数据库)2 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
MChine慕青3 小时前
顺序表与单链表:核心原理与实战应用
linux·c语言·开发语言·数据结构·c++·算法·链表
虎头金猫3 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
努力学习的小廉4 小时前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
2301_810154554 小时前
VM中CentOS 7密码重置
linux·运维·centos
zhaqonianzhu4 小时前
Linux GPIO 使用 Pinctrl 及 Gpiolib 通俗详解
linux·安卓
骄傲的心别枯萎4 小时前
RV1126 NO.16:通过多线程同时获取H264和H265码流
linux·c++·音视频·rv1126
空灵之海4 小时前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
喜欢你,还有大家5 小时前
FTP文件传输服务
linux·运维·服务器·前端