1.文件操作
1.1 创建文件-touch命令
在Linux下,创建文件或修改文件时间,使用touch
touch 文件名
- 如果文件不存在,可以创建一个空文件,无内容
- 如果文件已经存在,修改的是文件末次修改日期。
1.2 创建目录-mkdir命令
通过mkdir命令可以创建一个新的目录
mkdir [-p] 目录
- 新建目录,如果目录已经存在,会有报错提示
- mkdir常用选项:
- -p : 可以创建多层不存在的父子目录 。
1.3 删除文件或目录-rm命令
- 可通过rm删除文件或目录
- 注意:使用rm命令要小写,因为文件删除后不能恢复。
#格式
rm [-rf] 文件或目录
#说明:
-f:强制删除,忽略不存在的文件,不需提示
-r:删除目录时需要加此参数
#实例:
rm abc.txt #删除abc.txt,删除前确认。
rm -f abc.txt #删除abc.txt, 直接删除 。
rm -r abc #删除目录
1.4 复制文件-cp命令
- cp命令可以复制给出的文件或目录,相当于dos下的copy命令。
#格式
cp [-ri] 源文件 目标文件
#说明:
-r: 复制文件夹时需要加此参数
-i:在覆盖目标文件之前将给出提示要求用户确认
#实例:
cp -r abc bcd #拷贝abc 到 bcd
1.5 移动文件-mv命令
用户可以使用mv命令来移动文件或目录,mv也可以个文件或目录重命名。
#格式
mv [-i] 源文件 目标文件
#说明:
-i: 在覆盖目标文件之前将给出提示要求用户确认
#实例:
mv -i abc.txt def.txt
#重命名之后结果为def.txt,abc.txt已删除
2.查看文件内容
2.1 查看文件内容-cat命令
#格式
cat [选项] 文件
#说明:
-n:对输出的所有行编号,包括空行
-b:对输出的非空行编号,不包括空行
效果如下:
[root@localhost home]# cat -n ip.txt
1 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
2 inet 192.168.44.128 netmask 255.255.255.0 broadcast 192.168.44.255
3 inet6 fe80::94b2:89ae:d08e:93ba prefixlen 64 scopeid 0x20<link>
4 ether 00:0c:29:80:2a:97 txqueuelen 1000 (Ethernet)
5 RX packets 16392 bytes 9667834 (9.2 MiB)
6 RX errors 0 dropped 0 overruns 0 frame 0
7 TX packets 7758 bytes 919765 (898.2 KiB)
8 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
9
10 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
11 inet 127.0.0.1 netmask 255.0.0.0
12 inet6 ::1 prefixlen 128 scopeid 0x10<host>
13 loop txqueuelen 1000 (Local Loopback)
14 RX packets 68 bytes 5916 (5.7 KiB)
15 RX errors 0 dropped 0 overruns 0 frame 0
16 TX packets 68 bytes 5916 (5.7 KiB)
17 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
18
[root@localhost home]# cat -b ip.txt
1 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
2 inet 192.168.44.128 netmask 255.255.255.0 broadcast 192.168.44.255
3 inet6 fe80::94b2:89ae:d08e:93ba prefixlen 64 scopeid 0x20<link>
4 ether 00:0c:29:80:2a:97 txqueuelen 1000 (Ethernet)
5 RX packets 16392 bytes 9667834 (9.2 MiB)
6 RX errors 0 dropped 0 overruns 0 frame 0
7 TX packets 7758 bytes 919765 (898.2 KiB)
8 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
9 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
10 inet 127.0.0.1 netmask 255.0.0.0
11 inet6 ::1 prefixlen 128 scopeid 0x10<host>
12 loop txqueuelen 1000 (Local Loopback)
13 RX packets 68 bytes 5916 (5.7 KiB)
14 RX errors 0 dropped 0 overruns 0 frame 0
15 TX packets 68 bytes 5916 (5.7 KiB)
16 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- cat还能同时查看多个文件内容,如:cat 12.txt 13.txt 14.txt
- 使用cat查看操作系统信息:cat /proc/version
2.2 分页查看-more命令
more命令可以分屏显示文件内容,一页一页看 。
more 文件名
2.3 查看文本内容-tail命令
命令格式:
tail [参数] [文件]
-f 循环读取
-n<行数> 显示文件的尾部 n 行内容
tail -f 文件名 ——查看日志(工作中最常用的命令)
tail -f /var/log/messages ——实时监控Linux系统
2.4 过滤查看-grep
grep命令能根据规则搜索文本,并且把匹配的行显示出来
#格式:
grep [选项] "规则" 文件名
# 常用选项
- n : 显示内容时显示行号
- v :显示不符合匹配规则的行
- i :忽略大小写
# grep 配合模式查找
^a :以a开头的行
z$ : z结尾的行
^a.*z$ : a开头,z结尾的行
如:grep ‘errors’ ip.txt,把包含‘errors’的行显示出来;
grep -v ‘errors’ ip.txt,把不包含‘errors’的行显示出来
3.其它命令
3.1 清屏-clear
清除屏幕显示历史内容
clear
3.2 打印
在终端中回显参数指定的内容
echo 内容
3.3 重定向符
输出重定向:将命令执行结果输出到一个文件中
命令 > 文件名
命令 >> 文件名
#说明:
> 表示覆盖,把内容覆盖文件原有内容
>>表示追加,把内容追加到原有文件末尾 。
3.4 管道符号- |
可以把一个命令的输出直接作为另外一个命令的输入
#语法格式
命令 1 | 命令 2
#说明
命令 1 展示的输出结果,作为命令 2 的输入
该命令常结合grep使用
命令 | grep "规则"
3.5 find命令-查找文件
在指定的目录下,搜索符合条件的文件 。
find [路径] -name 文件名
- 如果省略路径,默认为当前路径
如:find -name xx
输出:./yy/xx
3.6 查找程序 - which
查看linux命令所在位置
which 命令
注意:cd 这个终端命令是内置在系统内核中的,没有单独文件,所以用which找不到位置。
绝大多数可执行命令文件都是保存在/bin,/sbin,usr/bin,/usr/sbin
4.压缩和解压
4.1 gzip-压缩与解压
# 操作之后源文件自动删除
gzip 文件名 #压缩文件
gzip -d 文件名 #解压文件
gzip -r 文件夹名 #压缩文件夹,压缩的不是文件夹本身,而是该目录下的子文件(子文本文件,不是子文件夹)
gzip -rd 文件夹名 #解压
4.2 zip和unzip-压缩和解压
zip文件压缩与解压
zip 压缩文件.zip 原文件 #压缩文件
zip [-r] 压缩文件.zip 原目录 #压缩目录
unzip 压缩文件.zip #解压文件
用zip压缩文件,必须明确指定压缩后目标文件名
4.3 tar命令-打包文件
tar命令的作用就是将多个文件或目录打包成一个文件
tar -cvf 包名.tar 文件或目录 #打包
tar -tvf 包名.tar #查看打包文件内容
tar -xvf 包名.tar #解包
#tar常用选项
c 生成归档文件,创建打包文件
x 解压档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名,f后面一定是.tar文件,所以必须放选项最后
t 查看包中的内容
4.4 tar与gzip
tar命令用于文件打包,但并不会同时压缩文件,结合z参数实现打包同时压缩,或解包同时解压缩。
tar -zcvf 压缩包名.tar.gz 文件目录 #打包同时用gzip压缩
tar -zxvf 压缩包名.tar.gz #用gzip解压后同时解包
5.系统相关信息
5.1 查看磁盘情况-df命令
–df -h —查看磁盘分布信息
–du -h 文件/目录 –查看文件大小
#命令格式
df [选项]
#常用选项
-h :以人性化方式显示文件大小
5.2 查看进程-ps命令
查看当前进程
#命令格式
ps [选项]
#常用选项
-a :显示终端上的所有进行,包括其它用户的进程
-u :显示进程的详细状态
-x :显示没有控制终端的进程
5.3 显示进行的运行状态-top命令
动态显示进行的运行状态
top
#说明:退出时按q
#重要字段:
PID : 进程id号
USER : 运行进程的用户
%CPU :进程cpu占有率
%MEM :进程内存占有率
%COMMAND :启动进程的命令名
5.4 杀死进程 -kill命令
杀死进程
#命令格式
kill [选项] PID
#常用选项
-9 : 表示强制,尽快终止一个进程
5.5 网络信息查看
ping命令:查看与目标主机是否连通
ifconfig: 显示Linux网络设备信息
netstat : 查看网络端口
6.用户与权限
6.1 root用户
Linux系统中的系统管理员,对所有资源都有访问权限 。大多数Linux都不推荐直接使用root账号登录系统,一般是运维人员配置好的普通用户操作
root用户的主目录:/root
6.2 切换用户-su命令
#命令格式
su [-] [用户名]
#常用选项
- :切换为其它用户,同时切换到用户主目录
#注意:
如果不写用户名,默认切换的是root用户
从root用户切换到普通用户不用输入密码
6.3 退出当前用户-exit命令
退出当前用户
exit
6.4 新增用户-useradd命令
新增用户,一般root账户才有新增用户的权限
#命令格式
useradd [选项] [用户名]
#常用选项
-u 目录名:指定新用户的主目录
-m :如果-d参数中指定的主目录不存在,就自动创建这个目录
#实例:
useradd -d /home/abc abc -m #新增用户abc,主目录为/home/abc
6.5 修改密码-passwd命令
修改密码
passwd [用户名]
6.6 删除用户-userdel命令
删除指定用户,一般root账号才有删除用户权限
#命令格式
userdel [用户名]
#常用选项
-f :此选项强制用户删除账号,甚至用户仍然在登录状态。它也强制删除
-r : 用户主目录中的文件将随用户主目录一起删除
#实例
#userdel -r abc :删除用户abc,同时删除用户主目录
6.7 查看当前用户登录名-whoami
查看当前用户登录名:whoami