Loading

Linux常用命令总结

1. cd 进入目录
关机 shutdown 或 half 或 poweroff
重启 reboot
2. mkdir 创建目录

mkdir -p 创建多级目录

3. ls 列出目录文件

ls 目录 -a 隐藏文件(以点开头)也显示

ls 目录 -l 显示详情

4. cp 复制文件 -R 递归复制目录以及子目录

5. mv 改名 移动

6. touch a.txt 创建文件

7. rmdir 只能删空文件夹

rm 删文件/文件夹

rm -rf 删除文件夹 r迭代 f强制force

8. pwd 显示当前目录
<!-- 文本的查看 -->
echo hello > a.txt 输出重定向 (覆盖原来的内容)
echo world >> a.txt (追加原来的内容)

9. ln 链接命令

10. more //查看文件内容(自动退出)
  more /etc/passwd >> passwd 把第/etc/passwd追加到passwd

  less //查看文件内容(按Q退出) ctrl+b 后退 ctrl+f前进

  head -3 文件 //查看前3行

  tail -2 文件 //查看后2行

  cat a.txt b.txt //查看两个文件(cat链接的意思)

11. grep -rn 'nobody' ./* //匹配文件中的‘nobodys’

      grep -rn 'nobody' ./* | wc -l //匹配文件中的‘nobodys’的数量

      grep -o '只输出匹配部分'

    grep -E '06/May(.*){50,70}.php HTTP/1.1" ' ./*my_access.log //匹配日志中5月6号访问PHP的文件记录, (.*){50,70}的意思是任意字符50-70个,更多正则用法点击这里https://www.cnblogs.com/wangzhaobo/p/17378063.html

//匹配结果

./my_access.log:113.119.65.98 - - [06/May/2023:00:10:24 +0800] "GET /xmlrpc.php HTTP/1.1" 404 162 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"   

12. tar fvc tmp.tar *.txt //打包文件 fvc(file, view)create创建 extract解压
  tar fvcz mp4.tar.gz mp4 //压缩文件(z是gz文件,j是bz格式)
  tar fvxz mp4.tar.gz -C ./    //解压.gz文件到当前文件夹
13. find . -name '*.txt' //查找当前文件下.txt文件 记得带引号
  find . -name '*php' |xargs grep buy //查找当前文件*php文件中有buy的文件
    find . | xargs grep -ri 'p35.png //查找当前文件中包含p35.png的文件(忽略大小写)

  find配合cat查找文件里面包含的字符串数量

  查找当前路径下.log后缀文件,且日期在2021-09-24到2021-09-30之前. 含有"若水"字符串的数量

  find . -type f -user www -name "*.log" -newermt '2021-09-24' ! -newermt '2021-09-30' -exec cat {}  \; | grep -c "若水"

  find详解:https://www.cnblogs.com/ariesblog/p/13804196.html

14. su 切换用户switch user
15. ps -aux 列出进程
  free 显示内存状态
  kill 进程号
  skill 进程名 杀的是*进程名*
16. mount /dev/cdrom /mnt //挂载 选择一个光驱(挂在就是将一个光驱文件映射到mnt,然后就可以通过mnt读取光驱文件了)
  ls /mnt/Packages |grep vsftp
  cp 路径 usr/local/src
  umount /dev/cdrom //卸载
17. 文件操作
vi 文件名 //打开文件(如果不加文件名直接vi 最后:wq+空格+文件名)
命令模式下
a 光标的下个字符编辑 i 当前光标编辑 o 换行编辑 s 删当前光标字符编辑
h 前移1字符 j下一行 b单词首 $行首 {上一段 w下单词首 H本屏幕首 1G文章开头
l 后移1字符 k上一行 e单词尾 0行尾 }下一段 L本屏幕尾 G 文章末尾
:set nu(number) 打印行号
:set nonumber 去掉行号
<!-- 删除 -->
d+光标快捷键
x 删除当前字符
dd 删除一行
<!-- 复制 -->
v+光标快捷键+y
yy 复制一行
yny 复制n行

p 粘贴
xp 交换两个字符
ddp 交换两行
. 重复上一次命令
u 撤销上一次命令(undo)
shitft+j 合并两行
w 保存
q 退出
wq 保存退出
q! 不保存,强制退出
18. 网络配置
配置DNS /etc/resolv.conf
配置IP等 /etc/sysconfig/network-scrips/ifcfg-eth0
重启网络 service network restart/stop/start 重启/关闭/开启
协议:端口
ftp:21
Ssh:22
Telnet:23
http:80
https:443
Mysql:3306
Memcache:11211
19. 用户/组管理
所在文件位置:
组 /etc/gorup
用户 /etc/passwd
密码 /etc/shadow
group/user(add/del/mod)
useradd -g haha wang //添加 wang 用户到 haha 组下
groupmod -n tmp haha //更改将组haha名字改为tmp
passwd 用户名 //回车输入密码
20. 权限rwx 421 就是二进制111到000的变化
rwx 7
rw- 6
r-w 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0
u 所属用户 g同组的 o其他人
chmod u+x 文件名 //相对修改权限,给所属用户添加一个执行的权限
chmod 041 文件名 //绝对修改权限,u->0, g->4, o->1
chown 新主人 某文件 //修改一个文件的主人
chgrp 新组 某文件 //修改一个文件的组
21. rpm 安装(相当于winds下面的exe)
rpm -i 软件全名 //安装 ivh 安装过程显示 例:rpm -i vsftpd-2.2.2-24.el6.x86_64.rpm
rpm -il 软件名 //查看软件安装的位置 例:rpm -ql vsftpd
rpm -q 软件名 //软件是否安装 例:rpm -q vsftpd
rpm -qa | grep vsftpd //利用管道 找出所有软件 中 软件名带有vsftpd的软件
22. yum 安装 //(相当于composer,解决rpm依赖安装)基础性的东西, 和底层的库 用yum 安装,
具体应用型的软件我们可以自己来编译
yum install httpd //安装
yum list installed | grep httpd//查看
yum remove httpd //卸载
安装基础软件
yum install gcc automake autoconf libtool gcc-c++
23. 编译软件
下载安装ngix
wget http://nginx.org/download/nginx-1.12.0.tar.gz
解压后 cd 到 nginx-1.12.0
./configure --prefix=/usr/local/nginx
提示没有pcre的库,百度下载解压到/usr/local/src(版本不要太高8.39)
1.指定安装路径
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/src/pcre-8.39 (注意,是pcre的解压位置.不是安装位置)
2.编译,3.安装
make && make install
关闭防火墙
service iptalbes stop
主机ping 虚拟机ip 能ping通,Telnet ip 80 不通就是防火墙的问题
netstat -nltp|grep 80 查看80端口谁用着呢
24. 安装PHP依赖的库
yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel

后面就是了LNMP的配置了.请转至http://www.cnblogs.com/wangzhaobo/category/1028125.html

查看端口号占用情况

netstat -apn|grep 8080

25. 查看文件夹大小容量

du -h --max-depth=1 文件夹路径

du -sh   查看当前目录总容量

du -sh * 查看当前每个文件总容量

du -h --max-depth=1 查看当前每个文件夹总容量

26.查找含有某字符串的所有文件 ,可以配合find具体看本文第13条

grep -rn "hello,world!" *    //* : 表示当前目录所有文件,也可以是某个文件名 -r 是递归查找 -n 是显示行号 -R 查找所有文件包含子目录 -i 忽略大小写

 27.setfacl命令可以用来细分linux下的文件权限。 (参考:https://blog.csdn.net/jin970505/article/details/79068429)

setfacl -m u:tank:rx test #给tank用户向test文件增加读和执行的acl规则

getfacl test #查看test文件的acl

apachectl restart 重启Apache

28.查看压缩文件里面的内容

zcat /backup/service_logs/2020/*/*/wangzhaobo.com/login/2020-*-*.txt.tar.gz | grep --binary-files=text 'cardNum=4799251916712371'

posted @ 2017-07-04 01:41  王召波  阅读(317)  评论(0编辑  收藏  举报