一、目录操作
pwd 查看当前目录所在位置
cd 当前用户主目录
cd ~ 当前用户主目录
cd / 根目录
cd . 上一次访问的目录
cd .. 上一级目录
cd /home 切换到home目录下
ls -l 列出当前目录下的文件信息(此命令很常用,简化的格式为 ll)
ls -al 列出当前目录下的文件信息(包括隐藏文件,特殊目录)
ll 查看当前目录下文件的所有信息
ll /home 列出home目录下所有信息
clear 清屏
创建目录:
mkdir [选项] 目录:
mkdir 目录名: 创建一个目录
mkdir -p 目录1/目录2/目录3: 创建多级目录
mkdir aaa 在当前目录下创建一个名为aaa的文件
mkdir ./aaa 在当前目录下创建一个名为aaa的文件
mkdir /ccc 在根目录下创建一个名为ccc的文件
mkdir -p /test1/test2/test3 递归创建test1/test2/test3文件
mkdir -m 477 test3 修改test3的权限
-m:配置文件的权限
搜索命令:
find / -name 'b' 查询根目录下名字为b的文件
find / -name 'b*' 查询根目录下名字以b开头的文件
grep:指定关键字来搜索文件中的内容
语法:grep [选项] 关键字 文件
选项:
grep -n 关键字 文件 : 显示搜索出的关键字匹配的行号
grep -i 关键字 文件:忽略关键字的大小写并显示出匹配的内容
重命名/剪贴:
mv :对文件/目录进行移动或者重命名
语法:mv 数据源 目的
移动:mv 文件/目录 存在的目的
重命名:mv 文件/目录 不存在的文件名
mv 原文件 到达文件
mv aaa /tomcat 移动aaa文件到根目录的tomcat文件中,文件名也叫aaa
mv aaa tomcat/aaa 移动aaa文件到根目录的tomcat文件中,文件名修改为aaa
mv aaa tomcat/bbb 移动aaa文件到根目录的tomcat文件中,文件名修改为bbb
删除目录:
rm :删除文件/文件夹
rm -i 文件:删除时有提示(默认就有提示)
rm -f 文件:强制删除文件(不能删除文件夹)
rm -r 文件夹:删除文件夹(有提示)
使用最多:rm -rf 文件/文件夹 —— 强制删除文件/文件夹
rm -r aaa 删除aaa文件,删除时有提示
rm -rf aaa 强制删除aaa文件,删除时没有提示
rm -rf a.txt 强制删除当前目录下的a.txt文件
rm -r ./a* 提示删除当前目录下以a开头的所有文件
rm -f a.txt 删除a.txt文件,不会有提示
rm -f:只能删除文件,不能删除文件夹
如果不确定的情况下使用rm -r 删除文件/文件夹,他是有提示的
切换目录:
二、文件操作
创建文件:
touch 文件名:
touch 文件名: 如果文件已存在,修改文件时间; 如果文件不存在,新建一个文件
touch 文件1 文件2 文件3 文件4..... : 创建(同一级目录下的)多个文件
touch a.txt 创建a.txt文件,如果a文件已存在,修改文件时间
touch /a.txt 在根目录下创建a.txt文件
touch 文件1 文件2 文件3 在同一级目录下创建多个文件
小案例
删除test2下的所有文件
rm -rf test2/*
递归删除.pyc格式的文件
find . -name '.pyc' -exec rm -r {} \;
打印当前文件夹下140000大小的文件
find . -name '*' -size 140000c -print
递归删除140000大小的文件
find . -name '*' -size 140000c -exec rm -r {} \;
递归删除140000大小的文件并打印出来
find . -name '*' -size 140000c -print -exec rm -r {} \;
拷贝文件/文件夹:
cp:拷贝文件/文件夹
cp 源数据 目的文件 : 拷贝文件(如果存在同名目的文件,提示是否进行覆盖)
cp -r 源目录 目的目录:拷贝目录/文件夹
cp -v 源数据 目的文件: 拷贝时显示对应的进度
三、文件内容操作
修改文件内容:
vim a.txt 进入a.txt文件内(一般模式)
a/i/o(按键) 进入插入模式(编辑模式)
Esc(按键) 退出
:wq 保存退出(先要退出才能保存)
:q! 不保存退出(内容更改)
:q 不保存退出(内容没有更改)
查看文件内容:
cat:显示文件的全部内容。文件内容较少时使用
cat -n 文件名: 显示内容时同时显示行号
less : 分屏显示文件的内容,一页一页的显示。文件内容较多时使用
less -N 文件名: 显示内容时同时显示行号
more: 分屏显示文件的内容,一页一页的显示,显示当前已经显示的百分比。
more 文件名
cat a.txt 查看a.txt的所有内容,文件内容较少的时候使用
cat -n a.txt 显示内容的同时显示行号
more a.java 从第一页开始查看a.java文件内容,按回车键一行一行进行查看,
按空格键一页一页进行查看,q退出;
less a.java 从第一页开始查看a.java文件内容,按回车键一行一行的看,
按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出;
less -n a.java 显示内容的同时显示行号
more和less的区别:
- less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
- less不必读整个文件,加载速度会比more更快
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容.
- 由于more不能后退.
小案例:
实时查看文件:
tail -f a.txt 查看a.txt文件后10行内容
前后几行查看:
head a.txt 查看a.txt文件前10行内容
head -n 8 a.txt 查看a.txt文件前8行内容
tail -n 8 a.txt 查看a.txt文件后8行内容
指定查找
grep under 123.txt 在123.txt文件中搜索under字符串,显示行
grep -n under 123.txt 在123.txt文件中搜索under字符串,显示行及行号
grep -v under 123.txt 在123.txt文件中搜索under字符串,显示没搜索到的行
grep -i under 123.txt 在123.txt文件中搜索under字符串,显示行
grep -ni under 123.txt 在123.txt文件中搜索under字符串,显示行及行号
终止命令
ctrl + c
三、系统日志
cat /etc/redhat-release 查看操作系统版本
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
四、压缩和解压缩
Windows系统常用rar
Mac系统常用zip
Linux系统常用tar.gz
压缩(tar -cvf)
tar -cvf 打包文件.tar 被打包文件/路径
tar -cvf start.tar a.java b.java 将当前目录下a.java、b.java打包
tar -cvf start.tar ./* 将当前目录下的所欲文件打包压缩成haha.tar文件
tar -zcvf start.tar.gz a.java b.java 将当前目录下a.java、b.java打包
tar -zcvf start.tar.gz ./* 将当前目录下的所欲文件打包压缩成start.tar.gz文件
解压缩(tar -xvf)
tar -xvf 打包文件.tar
tar -xvf start.tar 解压start.tar压缩包,到当前文件夹下;
tar -xvf start.tar -C usr/local (C为大写,中间无空格)
解压start.tar压缩包,到/usr/local目录下;
tar -zxvf start.tar.gz 解压start.tar.gz压缩包,到当前文件夹下;
tar -zxvf start.tar.gz -C usr/local (C为大写,中间无空格)
解压start.tar.gz压缩包,到/usr/local目录下;
tar xf node-v12.18.1-linux-x64.tar.xz
压缩(zip)可以在windows、linux、mac下使用
zip: 针对特定的文件/目录进行压缩/解压缩
zip -r 打包文件 被压缩的文件
打包文件:指压缩后的压缩包的名字
被压缩的文件: 需要进行压缩的文件
如果有多个需要进行压缩的文件,可以放入到同一个目录下
或者:zip -r file *.txt 压缩所有txt为后缀的文件
zip lib.zip tomcat.jar 将单个文件压缩(lib.zip)
zip -r lib.zip lib/ 将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar 将多个文件压缩为zip文件(lib.zip)
解压缩(unzip)
解压缩:
unzip 打包文件.zip : 解压到当前目录
unzip -d 解压后的目录 打包文件.zip :解压到指定目录
unzip file1.zip 解压一个zip格式压缩包
unzip -d /usr/app/com.lydms.english.zip 将`english.zip`包,解压到指定目录下`/usr/app/`
五、文件的详细信息
序号 | 权限 | 英文 | 缩写 | 数字代号 |
1 | 读 | read | r | 4 |
2 | 写 | write | w | 2 |
3 | 执行 | excute | x | 1 |
4 | 无权限 | —— | —— | 0 |
R:Read w:write x: execute执行
-rw-r--r-- 1 root root 34942 Jan 19 2018 bootstrap.jar
前三位代表当前用户对文件权限:可以读/可以写/不能执行
中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行
后三位其他用户对当前文件权限:可以读/不能写/不能执行
数字法:
chmod 777 文件名
常见的数字组合:(u表示用户/g表示组/o表示其他/a表示三者都有)
777:u=rwx,g=rwx,o=rwx
755:u=rwx,g=r-x,o=r-x
644:u=rw-,g=r--,o=r--
字母法:
chmod u+r 文件名
+:增加权限
-:撤销权限
=:设定权限
六、系统信息相关命令
重启与关机:reboot、shutdown
reboot:重启操作系统
shutdown:关闭操作系统
shutdown -r now:重新启动操作系统,shutdown会给用户提示
shutdown -h now:立刻关机
shutdown -h 20:45:系统将在今天的20:45关机
shutdown -h +5:系统再过5分钟会自动关机
查看系统进程
ps -aux:查看当前系统中正在执行程序的详细情况
a:显示终端上的所有进程,包括其他用户的进程
u:显示进程的详细状态
x:显示没有控制终端的进程
kill -9 进程代号:强制终止指定代号的进程(小心使用)
top:动态显示正在运行的进程且按照所占内存大小进行排序
查看系统监听的端口
netstat:用于显示各种网络相关信息,需要root权限
netstat -anptu:查看所有进程和端口使用情况
a:显示所有哦已打开的端口
n:不用别名显示,只用数字显示
p:显示进程号和进程名
t:显示所有tcp协议端口
u:显示所有udp协议端口
netstat -anptu | grep mysql:找到使用mysql的端口号
查看日志信息
head -15 文件名:查看文件前15行内容
tail -15 文件名:查看文件后15行内容
tail -f 文件名:实时监控文件内容
查找文件
find [路径] -name '文件名':查找指定路径下的文件
find . -name test.sh:查找当前目录下所有名为test.sh的文件
find . -name '*.py':查找当前目录下所有后缀为py的文件