Linux常用命令

本文详细介绍Linux环境下常用的系统操作命令,包括SSH远程登录、文件传输、系统状态查看、文件压缩解压、权限修改、文件查找、端口查看、进程管理等,是Linux系统管理和日常操作的实用指南。

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

1. 登录服务器 SSH 命令

常用格式:ssh [-l login_name][-p port] [user@]hostname

ssh 192.168.1.110
ssh -l root 192.168.0.11
# 比较常用
ssh root@192.168.0.11

2. 传输文件 scp 命令

secure copy,安全拷贝,可以用于传输文件,Windows 和 Linux 之间也可以使用,注意要有对应的文件权限

常用格式:scp [可选参数] file_source remote_username@remote_ip:remote_folder

scp /home/test.log root@192.168.1.110:/home/happy/

3. 查看系统状态 top、free、df、du

top 命令用于实时显示 process 的动态。可以配合用来查询 vm 的一些问题。

# 表示更新两次后终止更新显示
top -n 2
#表示更新周期为3秒
top -d 3
# 显示进程号为2586的进程信息,CPU、内存占用率等
top -p 2586
更新显示二次的结果输入到名称为 top.log 的档案里
top -n 2 -b < top.log

free命令用于显示内存状态。

# 显示内存使用信息 , -h 选项为根据大小适当显示(人类可以读懂的方式)
free -h
# 每10s 执行一次命令
free -hs 10

df以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

# 查看磁盘信息, -h 选项为根据大小适当显示
df -h

du会显示指定的目录或文件所占用的磁盘空间,用于查看当前目录的总大小。

 # 通过排序的方式显示前十条
du -am  | sort -nr | head -n 10
183	./jdk-8u191-linux-x64.tar.gz
183	.
1	./.viminfo
....

4. 压缩/解压 tar 命令

  • 压缩文件
# touch a.c
# tar -czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz
  • 列出压缩文件内容
# tar -tzvf test.tar.gz
-rw-r--r-- root/root     0 2010-05-24 16:51:59 a.c
  • 解压文件
# tar -xzvf test.tar.gz
a.c
  • -z 或–gzip 或–ungzip 通过 gzip 指令处理备份文件
  • -c 或–create 建立新的备份文件
  • -t 或–list 列出备份文件的内容
  • -x 或–extract 或–get 从备份文件中还原文件
  • -v 或–verbose 显示指令执行过程
  • -f<备份文件>或–file=<备份文件> 指定备份文件

5. 修改文件属性 chmod

语法为:

chmod abc file

其中 a,b,c 各为一个数字,分别表示 User、Group、及 Other 的权限。

r=4,w=2,x=1

若要 rwx 属性则 4+2+1=7;
若要 rw-属性则 4+2=6;
若要 r-x 属性则 4+1=5。

chmod a=rwx file

chmod 777 file

效果相同

6. 查找文件 find 命令

语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

# find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出

# find . -ctime -20

查找/var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:

# find /var/log -type f -mtime +7 -ok rm {} \;

查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

# find . -type f -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:

# find / -type f -size 0 -exec ls -l {} \;

7. 查询字符 grep 命令

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。一般搭配别的命令使用。如:

ls | grep Mu    //ls是展示当前目录下所有文件或文件夹,grep筛选包含Mu字符串的那一项

8. 查看端口占用 netstat 命令

netstat 命令用于显示网络状态。

利用 netstat 指令可让你得知整个 Linux 系统的网络情况。

显示详细的网络状况

# netstat -a

显示当前户籍 UDP 连接状况

# netstat -nu

显示 UDP 端口号的使用情况

# netstat -apu

一般搭配 grep 使用,快速查找某个端口或某个进程

9. 停止应用 kill 命令

kill 命令用于删除执行中的程序或工作。

查找 tomcat 服务,并彻底杀死进程。

# 查找tomcat服务器
ps aux | grep tomcat
root  25689
# 杀掉进程 -9 强制杀
kill -9 25689

10. 路径命令 cd、pwd

cd 用于切换当前目录到新的目录,可用绝对路径或相对路径表示

cd /home

若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

pwd 用于显示当前工作目录的绝对路径名称

[root@localhost home]# pwd
/home

11. 创建文件夹 mkdir/创建文件 touch

mkdir 用于创建文件夹,可创建一至多个。
touch 用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

# 创建一个
[root@localhost home]# mkdir test
[root@localhost home]# ls
do  test
# 创建多个
[root@localhost home]# mkdir user person
[root@localhost home]# ls
do  person  test  user
# 创建多级
[root@localhost home]# mkdir -p surprise/otherworld
[root@localhost home]# cd surprise/otherworld/
[root@localhost otherworld]# pwd
/home/surprise/otherworld

#-------------------#
# 在fantasy 下创建一个文件
[root@localhost home]# touch happyday
[root@localhost home]# ls
happyday

12. 移动文件 mv/删除文件 rm/复制文件 cp

mv 可以移动文件/目录到指定目录,也可以修改文件名。

  • 将文件 aaa 更名为 bbb :
mv aaa bbb
  • 将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
  • 再如将/usr/student 下的所有文件和目录移到当前目录下,命令行为:
mv /usr/student/*  .

rm 用于删除文件,可以将整个目录下的文件全部删除

  • 删除文件可以直接使用 rm 命令,若删除目录则必须配合选项"-r",例如:
# rm  test.txt
rm:是否删除 一般文件 "test.txt"? y
# rm  homework
rm: 无法删除目录"homework": 是一个目录
# rm  -r  homework
rm:是否删除 目录 "homework"? y
  • 删除当前目录下的所有文件及目录,命令行为:
rm  -r  *

cp 用于复制文件,也可以复制目录

  • 使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
cp –r test/ newtest

13. 查看文件 more/less/cat

cat 命令用于连接文件并打印到控制台上。

more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。

less 与 more 类似,但比 more 更随意,more 只能一页一页的翻,less 直接通过方向键上下就可以移动滚动条查看

[root@localhost bin]# cat zdiff
#!/bin/sh
# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh

# Copyright (C) 1998, 2002, 2006, 2007, 2009 Free Software Foundation
......

14. 查看文件头/尾并排序 head/tail/sort

head 用于查看文件开头,默认前 10 行
tail 用于查看文件末尾,默认后 10 行,一般用于查看日志文件
sort 用于将文本文件加以排序,sort 可针对文件内容,以行为单位进行排序

# 查看前5行内容 -n  num:显示每个文件的前num 行内容
[root@localhost best]# head -n 5 besthappyday
0315 happy
0812 happy
0201 happy
0403 happy
9046 happy

# 排序一下
[root@localhost best]# head -n 5 besthappyday | sort
0201 happy
0315 happy
0403 happy
0812 happy
9046 happy

15. 不解压直接查看 zgrep/zcat

避免解压文件,可以使用zgrep命令查找文件内容信息、zcat查看压缩文件中的信息。

# 查看 压缩文件内容
[root@localhost best]# zcat -a besthappyday.tar.gz
0812 happy
0201 happy
0403 happy
9046 happy
...
# 查找 压缩文件中的内容
[root@localhost best]# zgrep -a "0201" besthappyday.tar.gz
0201 happy

16. 查看当前目录下文件 ls/ll

ls 命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
ll 用于查看文件详细信息

[root@localhost home]# mkdir test
[root@localhost home]# ls
test
[root@localhost home]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 27 16:20 test

17. 网络相关 ifconfig/ping/telnet

ifconfig 命令用于显示或设置网络设备。ifconfig 可设置网络设备的状态,或是显示目前的设置,可用于启动关闭指定网卡、配置 IP 地址等。

ping 命令用于检测主机。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

telnet 命令用于远端登入。执行 telnet 指令开启终端机阶段作业,并登入远端主机

# 查询显示网络信息 配置的IP: 192.168.1.120
[root@localhost best]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.120  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::2011:229e:3407:7b99  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:ef:a7:71  txqueuelen 1000  (Ethernet)
        RX packets 2602  bytes 225175 (219.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1527  bytes 193319 (188.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 68  bytes 5912 (5.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 5912 (5.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ping一下百度
[root@localhost best]# ping www.baidu.com
PING www.a.shifen.com (119.75.217.26) 56(84) bytes of data.
64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=1 ttl=55 time=101 ms
64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=2 ttl=55 time=124 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 101.591/113.020/124.449/11.429 m

# 看房间门是否打开
[root@localhost ~]# telnet 192.168.1.120 8080

-- telnet : ctrl + ] + quit

18. 查看进程 ps

ps 命令用于显示当前进程 (process) 的状态,一般搭配 grep 使用

# 查询java服务
[root@localhost ~]# ps -aux | grep java

19. 超级用户 su/查看命令参数 man

su 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。默认超级管理员 root

# 显示当前用户
dufy@localhost:~$ whoami
dufy
# 切换到root用户
dufy@localhost:~$ su - root
密码:
[root@localhost ~]# whoami
root

man命令来查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件中的一些函数定义和使用方法。man 就是 manual(参考手册)。

# 查看对应命令的使用说明
[root@localhost ~]# man mv
[root@localhost ~]# man ls
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值