目录
文件操作命令
创建文件:
touch xxx.txt =>自定义文件名与后缀;
vi xxx.txt =>自定义文件名与后缀;
编辑文件:
vim xxx.txt;
vi xxx.txt;
vi或者vim中查找关键字:
?hello 按动键盘n,查找下一个;
/hello 按动键盘n,查找下一个;
vi或者vim中设置、取消设置行号:
:set nu => 设置行号;
:set nonu => 取消行号;
vi或者vim中,快速跳转到行首、行末:
跳转首行:g;
跳转末行:G;
vi或者vim中删除行(不进入编辑模式):
光标放在准备删除的行,按下dd;
vi或者vim中复制行(不进入编辑模式):
光标放在要删除的行敲击 4 yy,将从当前行开始复制4行,再移动光标到指定位置敲击p粘贴;
不编辑查看全部文件内容:
cat xxx.txt;
不编辑查找指定文件内容:
(1)grep "hello" xxx.txt ;
(2)cat xxx.txt |grep "hello";
统计某个关键字在文件中出现的次数:
grep "hello" xxx.txt |wc -l;
查看指定文件指定行数:
查看前三行 => head -3 xxx.txt;
查看后三行 => tail -3 xxx.txt;
查看行末实时输出的十行日志 => tail -10f xxx.txt;
全部替换该文件内某个关键字:
sed -i s/hello/world xxx.txt => xxx.txt文件中的所有hello关键字替换为world;
重命名文件:
(1)mv xxx.txt zzz.txt;
(2)rename xxx zzz xxx.txt;
根据名称查找某目录下的文件:
find test/ -name xxx*
查找文件并删除:
find test/ -name "xxx*" | xargs rm -rf;
查找30天前创建的文件并删除:
find test/ -mtime +30 -type f | xargs rm -rf;
下载文件命令:(仅为示例,下载内容根据自己业务需要更改)
(1)单线程:wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.9/bin/apache-tomcat-8.5.9.tar.gz;
(2)多线程:axel -n 10 https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.9/bin/apache-tomcat-8.5.9.tar.gz;
文件压缩、解压缩:(示例)
zip -r xxxx.zip xxxx => zip压缩;
unzip -d xxxx xxxx.zip => zip解压;
tar -zcvf test.tar.gz test/ => tar.gz压缩;
tar -zxvf test.tar.gz test => tar.gz解压;
系统命令
重启系统:
reboot;
重启网卡:
service network restart;
关闭防火墙:
systemctl stop firewalld;
systemctl disable firewalld;
查看内存大小:
free -m => 查看剩余多少m;
free -g => 查看剩余多少g;
查看磁盘空间:
df -h / => 查看总剩余空间;
du -sh xxx/ => 查看某个目录占用空间;
du -sh xxx.txt => 查看某个文件占用空间;
查看cpu占用空间:
top;
跨服务器传输文件:(示例)
scp aaa.zip root@192.168.1.99:/usr/local/ => 将本服务器文件传输到其他服务器;
scp -r aaa root@192.168.1.99:/usr/local/ => 将本服务器目录传输到其他服务器;
scp root@192.168.200.130:/usr/local/bbb.zip aaa.zip => 将其他服务器文件传输到本服务器;
scp -r root@192.168.200.130:/usr/local/bbb /mnt => 将其他服务器目录传输到本服务器;
文件权限命令
权限对照表:
444 | r--r--r-- |
600 | rw------- |
644 | rw-r--r-- |
666 | rw-rw-rw- |
700 | rwx------ |
744 | rwxr--r-- |
755 | rwxr-xr-x |
777 | rwxrwxrwx |
权限说明:
从左至右,先是3个数字,代表文件的权限
然后是9个字母(或者连字符)
其中 1-3位数字代表文件所有者的权限
4-6位数字代表同组用户的权限
7-9数字代表其他用户的权限
而具体的权限是由数字来表示的
读取的权限等于4,用r表示
写入的权限等于2,用w表示
执行的权限等于1,用x表示
通过4、2、1的组合,得到以下几种权限:
0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
权限符涵义:
u - 表示用户 (user)
g - 表示用户组 (group)
o - 表示其它 (others)
a - 表示所有 (all)
为某个目录添加执行权限:
chmod a+x -R xxx;
以root身份执行命令:
su chmod a+x -R xxx;
进程命令
查看进程:
ps -ef|grep java;
查看端口是否占用:
lsof -i:8080;
确认端口是否开启:(示例)
telnet 192.168.1.99 8080;
kill进程:(示例)
kill -9 1011 / kill 1011;
注意!!!在执行kill进程时可以选择kill或者kill -9来杀掉进程,但是kill和kill -9也是有很大的区别:
执行kill命令时,系统会发送一个SIGTERM信号给对应的程序。当程序接收到该signal信号后,可能会发生以下事情:
程序立刻停止、当程序释放相应资源后再停止、程序可能仍然继续运行。
大部分程序接收到SIGTERM信号后,会先释放本进程的资源,然后再停止进程。但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待IO,可能就不会立马做出响应),也就是说,SIGTERM多半是会被阻塞的。
然而kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。
所以,在使用 kill -9 前,最好先使用 kill -15,给目标进程一个预关闭的时间和机会。如果没有使用,则可能会留下一些不完整的文件或者状态,影响下一次服务的启动。(kill 默认 kill -15)