文章目录
- 1. 登录服务器 SSH 命令
- 2. 传输文件 scp 命令
- 3. 查看系统状态 top、free、df、du
- 4. 压缩/解压 tar 命令
- 5. 修改文件属性 chmod
- 6. 查找文件 find 命令
- 7. 查询字符 grep 命令
- 8. 查看端口占用 netstat 命令
- 9. 停止应用 kill 命令
- 10. 路径命令 cd、pwd
- 11. 创建文件夹 mkdir/创建文件 touch
- 12. 移动文件 mv/删除文件 rm/复制文件 cp
- 13. 查看文件 more/less/cat
- 14. 查看文件头/尾并排序 head/tail/sort
- 15. 不解压直接查看 zgrep/zcat
- 16. 查看当前目录下文件 ls/ll
- 17. 网络相关 ifconfig/ping/telnet
- 18. 查看进程 ps
- 19. 超级用户 su/查看命令参数 man
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