Linux 常用命令
重启
# 重启(root 用户操作)
reboot
# 强制重启
reboot -f
关机
# 关机
# shutdown [OPTION] [TIME] [MESSAGE]
shutdown
-h 关机
-r 重启
-c 取消上一个命令
第二个参数指的是多少分钟后执行操作,以分钟为单位,如果不加时间,默认一分钟后执行
shutdown 和 shutdown -h 效果是一样的
例如 :
shutdown -h now 和 shutdown now 一样表示立即关机
也可以 shutdown -h 0 也表示立即关机
时间参数也可以是具体时间
例如 :
shutdown -r 17:30 表示下午五点半重启
查看文件
cat 命令
cat 命令并不适合查看文件内容,因为不管文件大小,有多少内容,cat 命令都会将内容全部打印出来,这样对于大文件非常不适用。
# cat 命令查看一个文件的所有内容
cat test1
# cat 命令可以同时查看多个文件,将文件首尾相连
cat test1 test2
more 命令
分屏显示文件内容,而不是一次性显示所有内容。会停在第一页,如果想翻页,使用
-
空格—向后翻页
-
回车—多显示一行
-
b—向前翻页
# 语法 :more 文件名
more test1
tail 命令
tail -f file
# 在运行的时候查看file 里面的信息(适合查看日志信息)
cd 命令
# 语法 : cd 路径/目录
# 绝对路径 相对于根目录 / 开始找
cd /home/user/download
# 相对路径 相对于当前目录开始找上机目录 ../
cd ../src/linux
pwd命令
显示当前在系统中的路径,以绝对路径显示,不用加任何参数
pwd
ls 命令
以列表的形式显示当前目录中文件(子目录与文件)
ls # 显示所有文件
-i 显示文件的索引节点号
-a 显示全部文件(主要针对以 . 开始命名的文件) 一些目录里面会有.开头的文件,
例如.和..和 .cache等文件,如果不加 -a 的话是不会显示的。以.开头的文件相当于Windows里的隐藏文件夹
-l 长格式显示文件信息
ls -l 长格式显示文件信息
# 一共分为七部分
-rw-r--r-- 1 root root 40538551 8月 17 14:30 managemen.jar
-rw-r--r-- 第一部分 类型和权限
1 第二部分 链接
root 第三部分 属主用户名
root 第四部分 组
40538551 第五部分 大小
8月 17 14:30 第六部分 时期、时间
managemen.jar 第七部分 文件名
# 重点是第一部分,分为十位 -rw-r--r--
# 第一位 :文件类型
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
s 套接字文件
l 链接文件
p 管道文件
# 后面九位 :权限
# 2-4 位 拥有者
# 5-7 位 组用户
# 8-10位 其他用户
r 读
w 写
x 执行
- 无权限,占位用的
cp 命令
复制命令,可以复制文件,也可以复制目录
# cp 源文件路径/源文件名称 目标文件路径/目标文件名称
cp test1 dev/test2 # 将 test1文件复制一个至dev 目录下,并命名为 test2
cp test1 dev/ # 将 test1文件复制一个至dev 目录下,并命名为 test1
# 用于备份文件
cp test test123 # 将test文件复制一个,并命名为 test123
# 复制目录 -r 递归的复制目录
cp -r dir1 dir2 # 将dir1 文件夹复制出来一份并命名为dir2
cp -r dir1 dir/ # 将 dir1 文件夹复制一份到 dir 文件夹中并命名为 dir1
stat 命令
查看文件的信息
stat file
touch 命令
1、修改文件的时间的属性(修改文件的访问时间等)
- -a 只改变访问时间
- -m 只改变修改时间
2、创建一个空文件(当文件名不存在的时候,就会创建一个同名的空文件)
总结 :如果文件存在则更改文件时间信息(所有的时间信息),如果文件不存在则创建一个同名的空文件
# 创建一个空文件
touch file
# 查看文件的信息
stat file
# 修改文件的时间信息
touch file
# 再次查看文件时间信息
stat file
mv 命令
1、将文件移动到指定目录
2、给文件重命名
总结 :主要在于要移动的目标位置是否一致,如果目标位置一致则为重命名,目标位置不一致则为移动
# 重命名
mv file file1
# 将 file 文件移动至 webapp 文件夹中
mv file webapp/
mkdir 命令
创建空目录
# 创建一个目录
mkdir 目录名称
mkdir test
rmdir 命令
删除一个空目录(一定要是空的)
# 删除空目录
rmdir dir1
# 如果不是空的目录则会报错
报错信息为 :目录非空
rm 命令
可以删除文件和目录
# 删除文件
rm file1 # 注意如果没有写权限则会提示是否删除,有写的权限则会直接删除
# 删除目录 (可以是非空的)
rm -r dir
rm -rf /*
# r 代表文件夹,f代表文件夹下的子目录,/* 代表根目录下的所有文件
file 命令
识别文件的类型与编码
# 查看当前目录下的所有文件的类型与编码格式
file *
type 命令
可以查看 linux 中的命令的类型(别名、系统中文件)
[root@VM-16-12-centos webapp]# type ls
ls 是 `ls --color=auto' 的别名
[root@VM-16-12-centos webapp]# type cat
cat 是 /usr/bin/cat
find 命令
查找文件
# 语法 find 路径 选项
find ../webapp/ -name file
# 从 webapp 目录开始找名为file 的文件
# 该命令返回的是文件的路径
grep 命令
查找文件的内容
# 语法 grep 表达式 文件
grep "abc" file
# "abc" 代表模式表达式,表示 abc 字符串
# file 就是要查找的文件
# 功能:在 file 文件中查找包含 abc 字符串的行,打印出来这些行
高级
ls -l | grep "abc"
# ls 和 grep 两个命令
# | 代表管道
# grep 没有文件参数,ls命令的输出经过管道传送给 grep 命令作为查找文件
cut 命令
从文件每行选择指定的部分
- -b :以字节分割
- -c :以字符分割(每个utf8的汉字是三个字节)
# -b 以字节分割
cut -b 5 cutfile # 选取每行的第5个字节
cut -b 5-9 cutfile # 选取每行的第5-9个字节
cut -b -5,10,14- cutfile # 选取从开头到第5个字节、第10个字节和从第14个字节开始到结束的三个部分
wc 命令
对文件内容进行统计
-c:按照字节统计
-m:按照字符统计
-l:按照行统计
-w:按照词统计
wc 后面如果直接跟文件的话,输出的是 行数、词数、字节数
ls -l | wc -l
# 意思是将ls命令的输出经过管道传送给 wc 命令作为查找文件,然后按照 行 统计
sort 命令
将文件中的行排序
# 顺序排序
sort file
# 逆序排序
sort -r file
cmp 命令
将两个文件逐个字节进行对比,只提示第一词出现不同的地方,后面的不同之处不做分析
cmp file file1
# 会打印第一次出现不同的地方
# eg:file file1 differ:byte 9,line 1 意思是第一行第九个字节不一样
comm 命令
对两个排序之后的文件逐行比较
comm file file1
# 会打印三列数据
# 第一列是 file 文件所独有的数据
# 第二列是 file1 文件所独有的数据
# 第三列是 两个文件所共有的
diff 命令(常用)
对两个文件进行逐行比较,会输出两个文件的差异
diff 命令的输出说明:
- a :add
- c :change
- d :delete
- “<” 第一个文件的内容
- “>” 第二个文件的内容
压缩和打包
通俗说的压缩包指的是 先用 tar打包,在使用 gzip 对归档文件进行压缩 ,最后压缩包的后缀为 .tar.gz
压缩(gzip 只能压缩文件不能压缩目录)
# gzip :压缩后会删除原有文件,只保留压缩之后的文件包
# 压缩一个文件
gzip file1 # 压缩了 file1 会出现一个 file1.gz 压缩包文件,而此时会删除 file1 文件
# 压缩多个文件(使用?通配符,?代表一个字符)
gzip file?
# 会将目录下的 file1、file2 文件压缩,而file123 则不会进行压缩
# 压缩整个目录下的文件
gzip -r ../test # 会将test 目录下的文件打包成对应的一个一个的压缩包,并删除原有文件
解压缩
和 压缩时候一样 (会删除压缩包,并将文件解压出来) 只需要加上 -d 参数
gzip -d file1 # 注意不要写 后缀 .gz
# 解压整个目录下的压缩包
gzip -dr ../test # 会将test 目录下的压缩包解压成对应的一个一个的文件,并删除压缩包
打包
tar 命令,会保留源文件
# 打包文件或目录(不会删除原文件)
tar -cvf 文件或目录名.tar 文件或目录列表
# 解包(不会删除压缩包)
tar -xvf file.tar
# 查看包内容
tar -tf file.tar
打包加压缩(常用)
# 打包+压缩
tar -zcvf 压缩包名称.tar.gz 需要压缩的文件列表
# 解包+解压缩
tar -zxvf 压缩包名称.tar.gz
# 查看包的内容
tar -tf 压缩包名称.tar.gz
cal 命令
# 查看当月的日历
cal
# 查看指定年份的日历
cal yearName
# 查看指定月份的日志
cal monthName yearName