linux 命令

本文详细介绍了Linux的基础命令,包括目录操作、文件管理、文本编辑、包管理、权限控制和系统监控等。通过实例演示了如ls、cd、pwd、mkdir、cp、mv、rm、vi编辑器、yum管理软件包、find搜索文件、chmod控制权限以及top、free、iostat等监控命令的使用,是Linux初学者和运维人员的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux基础命令:

目录类

1. /  根目录  cd / 进入根目录  cd ~ 或者直接cd 是进入用户目录

2. ls 展示当前文件夹下的所有文件

3. ll 竖着展示所有文件的详细信息 (工作中用的很多)

4. pwd 当前文件的路径

5. cd . 显示当前目录

    cd .. 返回上一级目录

6.分清楚相对路径,绝对路径

   cd /usr/bin  详细的路径地址,就是绝对路径

   cd . 显示当前目录,就是相对路径

 

文件类

1.创建文件夹 mkdir demo

2.创建文件  touch a.txt

3.如果父目录不存在,直接创建子目录  mkdir -p /home/mtx/study

3.复制文件  cp 文件名 + 要复制的路径   例如: cp test.doc /home/

4.复制文件夹 cp -r 文件的路径 + 要复制的路径   例如 : cp -r tools/ /root/

5.移动文件(相对于剪切文件)  mv test(文件名)  /home/

6.删除文件夹或者文件  rm -rf tools/

7.文件执行 ./文件名

 

文本编辑

1.编辑文件  vi ./a.txt   按 i 进入编辑模式,可以移动光标进行文本编辑操作,按ESC退出编辑模式

然后输入 : 再输入wq     :wq

:q! 强制退出不保存

 

在非编辑模式下的快捷键:

  ctrl+f 向前翻一页   ctrl+b 向后翻一页 

  ctrl+d 向前翻半页   ctrl+u 向后翻半页

  $  移动光标到行尾

   移动光标到行首

  yy  复制光标到当前行的缓冲区

  p   粘贴复制的内容

  dd  删除当前行

  /test(要搜索的内容)   这个非常实用 , 按N找下一个符合条件的

 

文件查看(这个也是用的非常多的)

例如查看日志等

1.一次性读取并打印文件里的所有信息(适合小文件,只有1-20行) cat a.txt

2.读取文件,一次性读取完,每次只展示一屏(适合大文件的查看) more a.txt  按空格键展示下一页,按b显示上一页

3.读取文件,每次只读一屏,并且只展示一屏, less a.txt 按空格键展示下一页,按b显示上一页

4.读取文件,从后往前读取,  tail -200 a.txt

5.实时读取文件,从后往前读取, tail -f a.txt   (非常好用),退出按ctrl+c

6.展示文件的前几十行 head -50 a.txt

 

Linux下的包管理工具(其实就相当于手机系统里的应用商店)

yum

1. yum list  列出所有的包(已安装+可以安装的)

2. yum search 包名   搜索指定包

3. yum install -y 包名   安装指定包

    如果提示需要root权限,在命令前加sudo就可以 , 例如: sudo yum install -y unzip

4. yum remove 包名   删除指定包

5. yum update 包名   更新指定包

 

文件压缩、解压

1. zip -r test.zip test  将test文件夹压缩为zip格式

2. unzip test.zip  将文件夹解压到当前目录

3. tar cvf test.tar.gz test  将test文件夹压缩为tar.gz格式

4. tar xvf test.tar.gz  将test.tar.gz解压到当前目录

5. unzip test.war  将test.war解压到当前目录

 

权限控制

1. chmod +x ./test.txt  对当前目录下的test.txt添加可执行权限

2. chmod +x ./*  对当前目录下所有文件添加可执行权限

3. chmod 777 ./test.txt  对test.txt文件设置所有人均有读写执行权限

4. chown root:root ./*  将当前所有目录文件的拥有者改为root组的root用户

5. chown -R root:root ./*  将当前所有目录和子目录文件的拥有者改为root组的root用户

小技巧:当文件名太长时,可以输入一部分,然后按tab键就会自动补全

 

文件搜索

1. find / -name test.txt 从根目录下全局搜索test.txt文件 (常用)

2. find / -name *test.log 从根目录下搜索后缀为test.log的文件 (常用)

3. find / -amin -10 查找在系统中最后10分钟访问的文件

4. find / -atime -2 查找在系统中最后48小时访问的文件

5. find / -mmin -5  查找在系统中最后5分钟里修改过的文件

6. find / -mtime -1 查找在系统中最后24小时里修改过的文件

7. find / -user fred 查找在系统中属于fred这个用户的文件

8. find / -size +10000c 查找出大于10000000字节的文件(c:字节,k:kb,m:mb,G:GB)

9. find / -size -1000k 查找出小于1000kb的文件

 

系统命令(非常重要,非常常用)

1. ip addr  查看系统IP信息

2. systemctl restart/start/stop network  网卡重启/启动/关闭  (error)

3. systemctl stop/start/status firewalld.service 防火墙关闭/开启/查看状态

4. ps -ef | grep jmeter 查看系统里与jmeter相关的进程

5. kill -9 进程号   通过进程号强行杀掉某进程

6. history | grep xxx 查看Linux命令执行历史,并过滤出包含xxx的命令

7. nohup ./xxx.sh & 在后台执行xxx.sh脚本

8. netstat -anp | grep 8080 查看系统中8080端口建立的连接和所属进程

 

 

awk格式(主要操作列数据)

awk [options] 'Pattern {Action}'  file1,file2

[options] 可选项 参数

             通过 -F 选项来执行分割符,分隔符默认为空白

             例子:awk -F '#' '{print $1}' test.doc

{Action}  行为,一般都是打印输出,print

Pattern 模式

模式就是条件,符合条件的行,awk才会进行处理

awk '{print $2}' test.doc  只打印test文件的第二列

awk变量

       FS 输入字段分隔符,默认为空白字符,一般需要加-v

       OFS 输出字段分隔符,默认为空白字符,一般需要加-v

       NF  分隔后的字段数量    例子: awk 'NF == 4 {print $1}' a.doc

       NR  当前行的行号

 

经典Linux面试题

某文件有多列数据,空格隔开,统计第n列单词,打印出现频率最高的前5个

awk '{print $n}'  文件 | sort | uniq -c | sort -rn | head -3

sort 排序,把相同的排到一起, 不加参数是升序, -r倒叙  -n 按照数字排序

uniq 去重, 加了参数-c显示出现的数量

注意:uniq只能处理有序的,打乱的是不能处理的,所以第一个sort必须要加

head -3 相当于是控制输出,只显示多少个

 

sed命令(主要操作行数据)

命令格式: sed [选项] [动作]

选项: -n  加上这个参数之后,只有经过sed特殊处理的那一行才会被列出来

            -i   直接修改读取的文件内容,而不是输出到终端

动作

[n1 [n2]] function

n1,n2 可选项,一般代表选择进行动作的行数,举例来说,如果我的动作是需要在10到行之间进行的,则 10,20【动作行为】

function:

a: 新增行, a的后面可以接字符串,而这些字符串会在新的一行出现

c: 替换行, c的后面可以接字符串,这些字符串可以取代n1,n2之间的行

d: 删除行, 因为是删除啊,所以d后面通常不接任何字符串

i: 插入行,  i的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行)

p: 打印, 将某个选择的数据打印输出,通常p会与参数sed -n 一起运行

s: 替换, 可以直接进行取代的工作,通常这个s的动作可以搭配正规表示法

例如:

    打印第2-4行的内容   sed -n '2,4p' a.doc

    删除某几行(注意删除,sed后不能加-n)    sed '2,4d' a.doc

    在第一行后面加东西   sed '1a  hello' a.doc

    搜索某字符串并打印   sed -n '/ddd/p' a.doc

    修改原文件    sed -i '2,4d' a.doc

    替换文本  sed -i 's/111/777/g' a.doc   将111替换成777  g是全局替换

    

经典面试题

    统计一篇文章出现频率最高的10个单词

    sed 's/ /\n/g' 文件名 | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

    统计接口的使用频率

    awk '{print $7}' 日志名 | awk -F '?'  {print $1}  | sort | uniq -c | sort -rn | head -10

   

grep命令

grep可以过滤文件中的数据

查看包含指定字符串的行  grep 'xxx' test.log

显示行号  grep -n 10 'xxx' test.log

            n的参数有3个 (A后面, B前面, C前面加后面)

-w 精准匹配

-v  不包含某些字符串的行

多个条件进行过滤  grep 'xxx' a.log | grep 'zzz' b.log

 

awk,sed,grep总结

awk适合对于有规律的列数据进行处理

sed适合对于行数据进行处理,包括增删改查

grep适合对文本数据进行过滤处理

 

 

性能监控命令

操作系统监控四大项

cpu  内存  网络  磁盘

1.cpu 监控

top命令

id:CPU的空闲率,也就是使用率

us: 用户进程所占用的cpu大小 (占用高,是比较正常)

sy: 系统进程所占用的cpu大小

wa: 等待,磁盘的等待时间,如果值比较高,就是磁盘有问题了

 

2.内存监控

free -m

used 使用的内存

free  空闲的内存

buff、cache 预留的内存

available 真正可用的内存

 

3.磁盘监控

iostat -x -k 1

-x  会展示更多的数据

-k  以kb单位显示

1  1秒钟刷新一次

要注意util(I/O的使用率)的数据,如果很高,就说明磁盘已经遇到瓶颈了

rkb/s 每秒读的数据

wkb/s  每秒写的数据

 

df -h 看磁盘的空间

一般看 / (根目录)

 

综合性能监控命令

vmstat 1

 

性能监控工具 nmon

nmon是IBM开发的Linux性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用nmon 分析器做数据展示

分为两个部分,一部分监控组件,一部分是分析组件

rz 从Windows桌面上传文件到linux系统

mv 文件重命名

监控的命令 ./nmon -ft -s 5 -c 1000

-ft 将数据写入到文件里面

-s 每隔多长时间监控一次

-c 一共监控多少次

 

用nmon可以做稳定性测试,例如让长时间运行,然后看监控的数据

如果监控的中途想停下来

    用命令 ps -ef | grep nmon 查到nmon的进程号

    杀掉这个进程  kill 9 进程号

 

将监控文件下载到windows系统,用命令 sz

然后用分析器分析出数据,并以图表形式展示

重点需要关注的标签页

1. cpu_all

2. diskbusy

3. net

4. mem

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值