linux的基础结构和常用的命令基本 Linux 命令的列表:
Linux提供了大量的命令,利用它可以有效地完成大量的工
作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,
就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。
不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。
◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
————————————————
测试主机之间网络是否联通
1、简介
ping 命令不管是在Windows还是Linux都是比较常用的命令。命令用于测试主机之间的网络连通性。
2、语法格式
ping [参数选项] [目标主机]
3、参数说明
4、实践操作
①测试与目标主机的网络连通性
# 网络正常情况
[root@xiezhr ~]# ping http://jshk.com.cn/
PING http://jshk.com.cn/ (42.192.46.248) 56(84) bytes of data.
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.233 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.215 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.230 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.235 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=5 ttl=63 time=0.235 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=6 ttl=63 time=0.246 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=7 ttl=63 time=0.243 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=8 ttl=63 time=0.215 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=9 ttl=63 time=0.227 ms
# 网络不正常
[root@xiezhr ~]# ping 10.10.114.56
PING 10.10.114.56 (10.10.114.56) 56(84) bytes of data.
上面命令执行后会一直发送报文,相当于windows中的ping http://www.baidu.com -t。
② 指定发送报文的次数
# 发送报文4次后自动退出
[root@xiezhr ~]# ping -c 4 http://jshk.com.cn/
PING http://jshk.com.cn/ (42.192.46.248) 56(84) bytes of data.
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.230 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.248 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
64 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.214 ms
--- http://jshk.com.cn/ ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3021ms
rtt min/avg/max/mdev = 0.214/0.229/0.248/0.019 ms
③ 多参数使用情况
[root@xiezhr ~]# ping -c 4 -i 3 -s 1024 -t 255 http://jshk.com.cn/
PING http://jshk.com.cn/ (42.192.46.248) 1024(1052) bytes of data.
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=1 ttl=63 time=0.214 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=2 ttl=63 time=0.250 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=3 ttl=63 time=0.226 ms
1032 bytes from 42.192.46.248 (42.192.46.248): icmp_seq=4 ttl=63 time=0.261 ms
--- http://jshk.com.cn/ ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 9027ms
rtt min/avg/max/mdev = 0.214/0.237/0.261/0.026 ms
上面列子中参数解释
-c 4 : 发送4次报文
-i 3:每隔3s发送一次报文
-s 1024: 每次发送数据报文大小为1024字节
-t 255: **发送数据包的ttl值为255 **
ifconfig 配置或显示网络信息
1、简介
ifconfig 命令类似于Windows 下的ipconfig 。不知道大家会不会混淆在一起,反正我是经常混淆了在一起(●’◡’●)。命令用于显示网卡IP地址等参数信息。
2、语法格式
ifconfig [网路接口] [参数选项]
网络接口指的是:eth0、eth1和lo 分别表示第一块网卡、第二块网卡和回环接口。该选项是非必填项。
3、 参数说明
4、实践操作
①显示当前系统开启的所有网络接口信息
[root@xiezhr ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.4 netmask 255.255.240.0 broadcast 172.17.15.255
inet6 fe80::5054:ff:fe19:f6d0 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:19:f6:d0 txqueuelen 1000 (Ethernet)
RX packets 254776100 bytes 26271134342 (24.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 331164543 bytes 72224346549 (67.2 GiB)
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 143816 bytes 10756556 (10.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 143816 bytes 10756556 (10.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0表示第一块网卡、第二块为eth1,依次类推;lo表示回环接口。
②显示指定网卡eth0信息
[root@xiezhr ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.4 netmask 255.255.240.0 broadcast 172.17.15.255
inet6 fe80::5054:ff:fe19:f6d0 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:19:f6:d0 txqueuelen 1000 (Ethernet)
RX packets 254778009 bytes 26271295935 (24.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 331166449 bytes 72224671528 (67.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
③ 启动关闭网卡
# 关闭网卡
[root@xiezhr ~]# ifconfig eth0 down
# 启动网卡
[root@xiezhr ~]# ifconfig eth0 up
④ 设置网卡IP
[root@xiezhr ~] ifconfig eth0 192.168.205.98
route 显示或管理路由表
1、简介
route 命令用来显示或管理Linux的路由表
2、路由小科普
说到路由,不得不简单做下科普。这里只是简单通俗介绍一下,如果需要了解更多请查阅相关资料哈。
路由表与生活中的路标指示牌类似,指示牌指引着我们该往什么地方走;而路由表则指引着数据包该去向何方。
不得不说技术源于生活,又服务于生活。
那么,两台计算机之间是怎么传输数据的呢?
数据的传输必须要又网络来完成,而网络是由两台计算机之间一个或多个节点构成的
数据传输由一台计算机传送到第一个网络节点,然后这个网络节点会根据“约定”将数据传宋到另一个网络节点,另一个网络节点再根据“约定”将数据传输到下一个节点,直到把数据传输到另一台计算机。 这里的“约定”就是我们上面说的路由表
路由表说白了就是指定了一些规则,标明数据报文该何去何从。
路由分为静态路由和动态路由。
我们通过route命令手动加入的路由属于静态路由;动态路由时无需手动加入的,其路由规则时不同计算机彼此相互交换路由规则而来的
3、语法格式
route [参数选项]
4、参数说明
5、实践操作
① 查看当前系统路由表信息
[root@xiezhr ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
172.17.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
Destination :网络号,也就是network的意思
Gateway:连出网关地址,也就是说该网络时通过该IP连接出去的,0.0.0.0,则表示该路由直接由本机传送出去。如果由具体IP,表示本条路由必须经过该IP转接才能连接出去
Genmask:表示子网掩码
Flags:路由标记信息
U :表示此路由当前为启动状态
H:目标路由是一个主机(IP)而非网络
R:使用动态路由时,恢复路由信息标识
G:表示他需要通过外部的注解来转接传递数据
M:表示路由已经被修改
D:已经由服务设定为动态路由
Metric :表示需要经过几个网络节点才能到达路由的目标网络地址
Ref:参考到此路由规则的数目
Use:有几个转送数据包参考到了此路由规则
Iface:路由对应的网络设备接口
② 添加或删除路由
# 删除默认网关方法1
[root@xiezhr ~]# route del default
# 删除默认网关方法2
[root@xiezhr ~]# route del default gw 10.0.0.2
# 添加网关
[root@xiezhr ~]# route add default gw 10.0.0.2 dev eth0
netstat 查看网络状况
1、简介
netstat 命令用于显示本机网络的连接状态、运行端口和路由表等信息
2、语法格式
netstat [参数选项]
3、参数说明
4、实践操作
① 显示详细的所有连接信息
[root@xiezhr ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 172.17.0.4:80 103.127.81.10:33832 SYN_RECV
tcp 0 0 172.17.0.4:80 154.221.22.70:44617 SYN_RECV
tcp 0 0 172.17.0.4:80 103.195.150.7:31982 SYN_RECV
。。。
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 172.17.0.4:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp6 0 0 fe80::5054:ff:fe19::123 :::*
udp6 0 0 ::1:123 :::*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 12804 /var/run/lsm/ipc/simc
unix 2 [ ACC ] STREAM LISTENING 12810 /var/run/lsm/ipc/sim
简单说明下上面显示内容的含义
② 显示所有TCP、UDP正在监听的连接信息
[root@xiezhr ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2812/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 980/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2812/nginx: master
tcp 0 0 0.0.0.0:65535 0.0.0.0:* LISTEN 17087/./proc
tcp6 0 0 :::80 :::* LISTEN 2812/nginx: master
tcp6 0 0 :::3000 :::* LISTEN 27339/PM2 v4.5.1: G
tcp6 0 0 :::443 :::* LISTEN 2812/nginx: master
udp 0 0 0.0.0.0:68 0.0.0.0:* 809/dhclient
udp 0 0 172.17.0.4:123 0.0.0.0:* 546/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 546/ntpd
udp6 0 0 fe80::5054:ff:fe19::123 :::* 546/ntpd
udp6 0 0 ::1:123 :::* 546/ntpd
③ 显示当前系统的路由表
[root@xiezhr ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 172.17.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
④ 显示网络的接口状况
[root@xiezhr ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 257171559 0 0 0 334662383 0 0 0 BMRU
lo 65536 144476 0 0 0 144476 0 0 0 LRU
telnet 远程登录主机
1、简介
telnet以前用于远程登录主机,但是其安全性不好。因此现在一般采用更加安全的SSH,这个后面也会说到。
现在telnet命令主要用于判断远端服务器端口是否开发
2、语法格式
telnet [参数选项] [主机名或IP] [端口]
3、实际操作
①测试端口是否开放
[root@xiezhr ~]# telnet 112.112.17.172 31189
ssh 安全的远程登录主机
1、简介
ssh命令用于安全的登录远程服务器,实现对服务器的远程管理。取代了telnet命令
2、语法格式
ssh [参数选项] [用户名@] [主机名或IP地址] [远程执行的名]
3、参数说明
4、实践操作
① 远程登录服务器
[root@xiezhr ~]# ssh 220.165.5.45
②远程执行命令
[root@xiezhr ~]# ssh 10.0.0.26 "free -m"
wget 命令行下载工具
1、简介
wget 用于从网络上下载某些资料。只要Linux连接互联网,就可以直接从网络上下载自己所需的文件
支持断点下载
支持ftp和http下载方式
支持代理服务器
非常稳定。如果由于网络原因下载失败,wget 会不断尝试,直到整个文件下载完毕。如果服务器打断了下载过程,当再次连接服务器时,会从停止的地方继续下载。【这对下载大文件非常有用】
2、语法格式
wget [参数选项] [下载地址]
3、参数说明
4、实践操作
① wget下载单个文件
[root@xiezhr /]# wget https://xiezhrspace.cn/medias/logo.png
--2022-05-30 23:08:24-- https://xiezhrspace.cn/medias/logo.png
Resolving xiezhrspace (xiezhrspace)... ::1, ::1
Connecting to xiezhrspace (xiezhrspace)|::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png’
100%[========================================================================================================================================================================>] 112,674 --.-K/s in 0s
2022-05-30 23:08:24 (433 MB/s) - ‘logo.png’ saved [112674/112674]
②使用-O参数,指定下载文件的保存文件名
[root@xiezhr test]# wget -O /home/test/logo.png http://jshk.com.cn//medias/logo.png
--2022-05-30 23:14:03-- http://jshk.com.cn//medias/logo.png
Resolving http://jshk.com.cn/ (http://jshk.com.cn/)... 42.192.46.248
Connecting to http://jshk.com.cn/ (http://jshk.com.cn/)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘/home/test/logo.png’
100%[========================================================================================================================================================================>] 112,674 --.-K/s in 0.01s
2022-05-30 23:14:03 (9.78 MB/s) - ‘/home/test/logo.png’ saved [112674/112674]
[root@xiezhr test]# cd /home/test/
[root@xiezhr test]# ll
total 208
-rw-r--r-- 1 root root 112674 Nov 29 2020 logo.png
③ 限速3kb/s下载
[root@xiezhr test]# wget --limit-rate=3k http://jshk.com.cn//medias/logo.png
--2022-05-30 23:15:57-- http://jshk.com.cn//medias/logo.png
Resolving http://jshk.com.cn/ (http://jshk.com.cn/)... 42.192.46.248
Connecting to http://jshk.com.cn/ (http://jshk.com.cn/)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png.1’
100%[========================================================================================================================================================================>] 112,674 3.00KB/s in 37s
2022-05-30 23:16:34 (3.00 KB/s) - ‘logo.png.1’ saved [112674/112674]
④ 断点续传下载大文件
[root@xiezhr test]# wget -c https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
⑤后台下载文件
[root@xiezhr test]# wget -b http://jshk.com.cn//medias/logo.png
Continuing in background, pid 4526.
Output will be written to ‘wget-log’.
⑥ 有些网站会根据判断代理名称是不是浏览器而拒绝你的下载请求,这时候就可以伪装代理下载
[root@xiezhr test]# wget -b http://jshk.com.cn//medias/logo.png
Continuing in background, pid 4526.
Output will be written to ‘wget-log’.
[root@xiezhr test]# clear
[root@xiezhr test]# wget --user-agent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" http://jshk.com.cn//medias/logo.png
--2022-05-30 23:29:27-- http://jshk.com.cn//medias/logo.png
Resolving http://jshk.com.cn/ ... 42.192.46.248
Connecting to http://jshk.com.cn/ (http://jshk.com.cn/)|42.192.46.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 112674 (110K) [image/png]
Saving to: ‘logo.png.3’
100%[========================================================================================================================================================================>] 112,674 --.-K/s in 0.01s
2022-05-30 23:29:27 (9.85 MB/s) - ‘logo.png.3’ saved [112674/112674]
⑦ 监控网站URL是否正常
# 采用静默方式访问网站,3秒超时,重试1次,模拟爬虫方式进行访问
[root@xiezhr test]# wget -q -T 3 --tries=1 --spider http://jshk.com.cn/
# 返回0表示正常
[root@xiezhr test]# echo $?
0
ip网络配置工具
1、简介
ip 命令用于显示或管理Linux系统的路由、网络设备、策略路由和隧道
2、语法格式
ip [参数选项] [网络对象] [操作命令]
3、参数说明
4、实践操作
ip link show # 显示网络接口信息
ip link set eth0 up # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
ip addr show # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
ip route show # 显示系统路由
ip route add default via 192.168.1.254 # 设置系统默认路由
ip route list # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
tcpdump 监听网络流量
1、简介
tcpdump 命令是一个包分析工具。可以将网络中传输的数据包的“头”完全截获下来以提供分析。
2、语法格式
tcpdump [参数选项] [表达式]
3、参数说明
4、实践操作
① 不带参数监听网络
[root@xiezhr ~]# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:49:34.194426 IP xiezhr.ssh > 39.130.60.147.54868: Flags [P.], seq 2354337386:2354337582, ack 602321997, win 255, length 196
21:49:34.194837 IP xiezhr.55410 > 183.60.82.98.domain: 13037+ PTR? 147.60.130.39.in-addr.arpa. (44)
21:49:34.241013 IP 39.130.60.147.54868 > xiezhr.ssh: Flags [.], ack 0, win 511, length 0
21:49:34.260399 IP 183.60.82.98.domain > xiezhr.55410: 13037 NXDomain 0/1/0 (93)
21:49:34.261639 IP xiezhr.44621 > 183.60.83.19.domain: 25778+ PTR? 4.0.17.172.in-addr.arpa. (41)
21:49:34.262436 IP 183.60.83.19.domain > xiezhr.44621: 25778 NXDomain 0/1/0 (100)
② 精简输出信息
[root@xiezhr ~]# tcpdump -q
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:51:39.084015 IP xiezhr.ssh > 39.130.60.147.54868: tcp 196
21:51:39.084415 IP xiezhr.54183 > 183.60.83.19.domain: UDP, length 44
21:51:39.084690 IP 183.60.83.19.domain > xiezhr.54183: UDP, length 93
21:51:39.095563 IP xiezhr.37447 > 183.60.82.98.domain: UDP, length 41
21:51:39.095795 IP 183.60.82.98.domain > xiezhr.37447: UDP, length 100
21:51:39.107963 IP xiezhr.57539 > 183.60.83.19.domain: UDP, length 43
21:51:39.108025 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100
21:51:39.108749 IP 183.60.83.19.domain > xiezhr.57539: UDP, length 107
21:51:39.118945 IP xiezhr.51494 > 183.60.82.98.domain: UDP, length 43
21:51:39.119024 IP xiezhr.ssh > 39.130.60.147.54868: tcp 180
21:51:39.119165 IP 183.60.82.98.domain > xiezhr.51494: UDP, length 107
21:51:39.130005 IP xiezhr.ssh > 39.130.60.147.54868: tcp 596
21:51:39.130036 IP xiezhr.ssh > 39.130.60.147.54868: tcp 100
-----------------------------------
©著作权归作者所有:来自51CTO博客作者华科小徐的原创作品,请联系作者获取转载授权,否则将追究法律责任
Linux核心命令之网络相关命令
https://blog.51cto.com/u_13488918/6122364
1. pwd 命令
使用
pwd
命令可以显示您所在的当前工作目录(文件夹)的路径,该命令将返回一个 绝对 (完整)路径,以正斜杠开头(/ ) ,比如
/root
。
2.cd 命令
cd命令用于进入某个目录,需要完整路径或目录名称。
如果你在
/opt/soft/redis
路径下,现在你想进入redis的子目录
conf
,只需输入命令:
cd conf
即可。
如果你想进入
/home/app/java_program
目录下,那你只能通过绝对路径的方式最为快捷,只需要输入
cd /home/app/java_program
cd
命令有一些快捷的使用方法:
-
cd ..
(带有两个点)向上移动一个目录
-
cd
直接进入主文件夹
-
cd -
(带连字符)移动到上一个目录
注意❗:Linux 的 shell 区分大小写 ,所以在输入命令的时候要注意一下大小写。
3.ls 命令
ls命令用于查看目录的内容,默认情况下,此命令将显示您当前工作目录的内容。
如果要查看其他目录的内容,请键入ls,然后键入目录的路径,例如,输入
ls /opt/soft
查看 soft 的内容。
ls命令有好多参数可以使用,在用的时候可以提高好多效率:
-
ls -R
列出子目录中的所有文件
-
ls -a
显示隐藏文件
-
ls -al
将列出文件和目录以及权限、大小、所有者等详细信息。
4.cat命令
cat(concatenate 的缩写)是 Linux 中最常用的命令之一,用于在标准输出 (sdout) 上列出文件的内容,要运行此命令,输入cat ,后跟文件名及其扩展名。
例如:
cat setup.sh
以下是使用cat命令的其他方法:
-
cat > filename
创建一个新文件
-
cat filename1 filename2>filename3
连接两个文件(1 和 2)并将它们的输出存储在一个新文件中 (3)
要将文件转换为大写或小写,请使用
cat 文件名 | tr az AZ >输出
avc -> AVC
AVC -> Avc
5.cp命令
cp
命令将文件从当前目录复制到其他目录。
例如,命令
cp setup.sh /home/app/java_program
将创建一个setup.sh的副本(从当前目录)到
/home/app/java_program
目录中。
6.mv 命令
mv
命令的主要用途是移动文件,也可用于重命名文件。
mv 中的参数类似于 cp 命令,您需要输入mv、文件名和目标目录。例如:
mv setup.sh /opt/tmp
。
要重命名文件,Linux 命令是
mv setup.sh app.sh
7. mkdir 命令
mkdir命令创建一个新目录,如果你输入
mkdir tmp
它将创建一个名为tmp的目录。
如果要在另一个目录中生成一个新目录,请使用这个 Linux 基本命令
mkdir tmp/java
使用 p 参数,可以递归新建目录,比如现在我们tmp目录下没有java的文件夹:
现在我们想新建一个文件夹java,并且在java文件夹里再建一个文件夹springboot:
8. rmdir 命令
如果需要删除目录,请使用
rmdir
命令,但是,rmdir 只允许删除空目录。
空目录可以删除成功
非空目录删除失败
9. rm 命令
rm命令用于删除目录及其中的内容,如果您只想删除目录(作为 rmdir 的替代方法),请使用rm -r。
注意:用此命令要非常小心,并仔细检查所在的目录,因为删除的内容无法恢复。
10.触摸命令
touch
命令用于创建一个空白的新文件,例如,输入
touch /opt/tmp/java/cmd
在
/opt/tmp/java
目录下创建一个名为cmd文件。
11.locate命令
locate
命令用来定位文件,就像 Windows 中的搜索命令一样。
如果使用
-i
参数可以起到不区分大小写的作用,所以当您不记得文件的确切名称也可以用这个命令搜索文件。
如果要搜索包含两个或多个单词的文件,可以使用星号(*),例如,
locate -i java*
命令将搜索任何包含单词“java”的文件,无论是大写还是小写:
12.查找命令
与locate命令类似,使用 find也可以搜索文件和目录,不同之处在于,您使用find命令在给定目录中查找文件。
例如,
find /opt/ -name java
命令将在主目录及其子目录中搜索名为java的文件。
还有其他用法:
-
要在当前目录中查找文件,请使用
find . -name java
-
要查找目录,请使用
find . -type d -name java
13. grep 命令
grep的功能是搜索给定文件中的文本。
比如
grep echo setup.sh
将在setup.sh文件中搜索单词 echo:
14.sudo命令
sudo 是
SuperUser Do
的缩写,此命令是执行 root 权限的任务:
15. df 命令
df命令可以列举统磁盘空间使用情况,以百分比和 KB 显示。
如果要查看以兆字节为单位的信息,可以输入
df -m
:
16.du命令
du可以检查文件或目录占用了多少空间:
带单位:
17. head命令
head命令用于查看任何文本文件的第一行,默认情况下,它将显示前十行,但您可以根据需要更改此数字:
例如,如果您只想显示前五行,请输入
head -n 5 xxx
:
18.tail命令
tail 命令与 head 命令具有相似的功能,但不是显示第一行,tail命令将显示文本文件的最后十行,例如,
tail -n 文件名
:
19. diff命令
difference的缩写,diff命令逐行比较两个文件的内容,分析文件后,它将输出不匹配的行。
该命令最简单的形式是
diff file1 file2
:
20.tar命令
tar命令是将多个文件归档,类似于 zip 格式,压缩是可选的。
tar -cvf wljslmz-1.tar.gz wljslmz-1
21. chmod 命令
chmod 用于更改文件和目录的读、写和执行权限。
22. chown 命令
在 Linux 中,所有文件都归特定用户所有,chown命令可以将文件的所有权更改或转移到指定的用户名。
例如,
chown wljslmz wljslmz-1.tar.gz
将使wljslmz成为wljslmz.tar.gz的所有者:
23.jobs命令
jobs命令将显示所有当前jobs及其状态:
我这服务器是空的,所以暂时没有任务。
24.kill命令
如果您有一个无响应的程序,您可以使用kill命令手动终止它。
它会向行为不端的应用程序发送一个特定的信号,并指示应用程序自行终止。
一共有六十四种信号可以使用,但人们通常只使用两种信号:
-
SIGTERM (15) — 请求程序停止运行并给它一些时间来保存所有进度,如果在输入 kill 命令时没有指定信号,就会使用这个信号。
-
SIGKILL (9) — 强制程序立即停止,未保存的进度将丢失。除了知道信号之外,您还需要知道要杀死的程序的进程标识号 (PID) ,如果您不知道 PID,只需运行命令
ps ux
。
在知道要使用什么信号以及程序的 PID 后,输入以下语法:
kill [信号选项] PID
25. ping 命令
使用ping命令检查您与服务器的连接状态:
26. wget 命令
wget命令用于从 Internet 下载文件,为此,只需键入wget ,然后输入下载链接。
例如,我们将网络技术联盟站上某个页面给下载下来了。
27. uname 命令
uname命令是 Unix Name的缩写,它将打印有关您的 Linux 系统的详细信息,例如机器名称、操作系统、内核等。
28.top命令
作为相当于 Windows 中的任务管理器的终端,top命令将显示正在运行的进程列表以及每个进程使用多少 CPU。监视系统资源使用情况非常有用,尤其是知道哪个进程需要终止,因为它消耗了太多资源。
29.history命令
当您使用 Linux 一段时间后,您会很快注意到您每天可以运行数百条命令,因此,如果您想查看之前输入的命令,运行history命令特别有用:
30. man命令
man命令可以指出某条命令怎么用,什么意思:
man history
31. echo命令
echo命令用于将一些数据写入到文件中。
例如,将wljslmz写入到wljslmzcn中:
echo wljslmz > wljslmzcn
32. zip压缩解压命令
zip命令将文件压缩到 zip 存档中,unzip命令从 zip 存档中提取压缩文件。
zip app.zip app.sh
33. hostname命令
如果您想知道主机/网络的名称,只需键入
hostname
:
在末尾添加-i 将显示您的网络的 IP 地址:
34. useradd、userdel命令
由于 Linux 是一个多用户系统,这意味着多个人可以同时与同一个系统进行交互。
useradd用于创建新用户,而passwd为该用户的帐户添加密码。
例如我们添加一个用户wljslmzcn,密码设置为123456:
删除用户与添加新用户非常相似,
userdel UserName
Linux中其他技巧
1、终端记录清除
如果终端因太多过去的命令而变得混乱,可以使用
clear
命令清除终端。
清除前
清除后
2、tab键自动补充命令
可以使用TAB键自动填充正在输入的内容,如果我们删除unzip这个文件:
我们可以用
rm -rf un
然后打tab键:
打tab键前
打tab键后
3、停止命令
Ctrl+C
标签:xiezhr,46.248,0.0,Linux,命令,linux,root,42.192 From: https://www.cnblogs.com/xinxihua/p/17366223.html