Linux系统的基本指令
基本指令
ls
查看当前目录下有哪些东西ls -a
查看所有文件(包括隐藏文件,Linux系统里面以.开头的文件都是隐藏文件)
pwd
查看当前在什么位置cd 目录名
进入对应的目录里面,不能进入文件cd ~
回家目录(root目录)cd -
回到最近一次cd ../
回到上一级, ../.. 上上级
reboot
重启系统cat 文件名
查看某个文件里面的内容,只能查看文件,不能查看目录,跟cd正好相反systemctl restart network.service
重启网卡网络ip addr
查看当前ip地址shutdown -h now
关闭虚拟机mkdir 目录名
表示生成一个目录,全称是make dir
,mkdir -p
是递归创建touch 文件名
表示创建一个文件,也可以用vi编辑创建文件,或者用echo ‘内容’ > 文件名 来创建clear
清屏,相当于快捷组合键ctrl + Lll
查看当前目录下的详细信息,相当于ls -l
指令cp 拷贝的目录名/文件名 要去的另一个目录名
表示把当前目录的文件拷贝到另一个目录,拷贝目录要用cp -r
mv 文件名 要去的目录名/新文件名
表示移动文件到另一个目录下,如果是移动在当前目录下,那就是重命名yum install tree
安装目录显示树结构yum install -y vim-enhanced
安装VIM编辑器tree
查看当前目录下有哪些东西,以树结构显示useradd 用户名
创建用户,默认没有密码的,需要设置密码才能登录,如果没有加-g,则会创建一个跟用户名同样名字的组useradd -g 用户名
创建用户的时候,后面跟现有组的组名或组的id,就是新建用户属于现有的组里面,而不会创建一个跟用户名同样名字的组useradd -u 用户名
自定义新建用户iduseradd -d 用户名
自定义家的目录useradd -M 用户名
不建家目录
passwd
给用户创建/修改密码,passwd 后面不加用户名就是修改当前登录用户的密码,反之可以加上普通账户的名字,也就是修改指定用户的名字groupadd 组名
创建一个组,不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的,反之加’-g‘ 选项就是自定义组的gid(gid相当于mysql里面所谓的id)tail -n 文件名
查看文件的最后n行并显示出来chown 用户名 文件名
改变文件的所属用户,加上 -R 是递归改变目录下的全部文件和目录,用于改变目录chmod u-r/w/x 文件名
改变文件的权限,加上 -R 是递归改变目录下的全部文件和目录的权限,用于改变目录,第二个属性 u-r/w/x:a 代表全部,u 代表所属主,g 代表所属组,o 代表其他人,可以通过+/-来修改对应的权限或者直接用=,r:只读,w:可写/可编辑,x:可执行chgrp 组名 文件名
改变文件的所属组,加上 -R 是递归改变目录下的全部文件和目录的权限,用于改变目录groups 用户名
查看该用户在哪个组里面userdel 用户名
删除已存在的用户,加上 -r ,删除用户的时候,连带用户的家目录也一起删除groupdel 组名
删除已存在的组,如果组里面存在对应名字的用户,只能先删除用户才能删除组su 用户名
用来切换用户,加上- ,切换用户后,当前目录就直接在用户的家目录,就跟直接登陆是一样的id 用户名
查看用户的id和对应所属组的idusermod -g/-G 组名 用户名
改变用户的所在组,-g 代表改变用户的主组,而 -G 代表没该变用户的主组,只是给该用户加了一个次要/辅助组,该用户同属于两个组,一个主组和一个次要/辅助组,也可以一次给用户加好几个次要/辅助组,第三个参数以 组名,组名,组名… 的方式history
查看历史命令列表ifconfig
查看、配置、启用或禁用网络接口的工具ps -aux | grep xxx
查看当前是否开启了xxx服务kill -9 进程id
杀死一个进程(每个进程的第二例就是它的id)tar -czvf 压缩后的文件名 压缩前的文件名
打包压缩(gzip压缩)目录文件,被压缩的目录文件不会被删除某些情况下我们需要在压缩文件的同时排除指定文件夹时
增加参数--exclude
即可例如,对
advertisement
这个目录打包,打包的时候我们要排除其中的advertisement/logs
目录tar -czvf advertisement.tar.gz --exclude=advertisement/logs advertisement
如需排除多个目录,继续增加
--exclude
即可,如下命令排除其中logs
和uploads
两个目录及文件text.php
tar -czvf advertisement.tar.gz --exclude=advertisement/logs --exclude=advertisement/uploads --exclude=advertisement/text.php advertisement
Tip: 使用
tar
的--exclude
命令排除打包的时候,不能加/
,否则还是会把 logs 目录以及其下的文件打包进去。#错误写法 tar -czvf advertisement.tar.gz --exclude=advertisement/logs/ advertisement #正确写法 tar -czvf advertisement.tar.gz --exclude=advertisement/logs advertisement ```
参考博客:linux tar压缩排除指定文件夹
tar -xzvf 被压缩后的文件名 解压(gzip解压)目录文件
被解压的压缩包也同样不会被删除wget 压缩包下载网址
在线下载软件压缩包
VI编辑的常用指令
vi 文件名
编辑文件i 键 insert 进入编辑模式
Esc 键 退出当前模式
shift + : 键 进入命令模式
wq!
写入并强制退出
常用服务指令
service nginx restart
重启nginx/etc/init.d/nginx reload
重载nginx配置service php-fpm restart
重启php/etc/init.d/php73-fpm restart
重启特定的php(php7.3)版本service mysqld restart
重启mysqlservice memcached restart
重启memcachedservice redis restart
重启redisps -ef | grep php
查看php有没有启动netstat -anp | grep 端口号
查看该端口号是否存在kill -9 进程id
强制结束该进程df -h
更直观的方式显示目前磁盘空间和使用情况du -h --max-depth=1
查看当前目录下各子目录磁盘占用情况netstat -aptn
查看所有开启的端口lsof -i:端口号
查看该端口号是否开启lsof -n | grep deleted
查询哪些文件已经被删除,但是还有进程在访问这些文件,可用于处理df
命令和du
命令查询出的磁盘空间不一致crontab -l
查看计划任务命令crontab -e
修改计划任务命令nohup php php文件名 >> /dev/null 2>&1
php以后台守护的方式执行某个文件sudo apt install mysql-server-5.7
安装MySQL服务sudo apt install net-tools
安装net-toolssudo apt remove mysql-server-5.7
卸载MySQL服务
使用情景
- 情景1
场景:大批量文件上传且只要文件里面的所有子目录和文件 不需要最外层的大文件目录
压缩文件为zip文件
1.通过Xftp等工具上传压缩文件
2.输入 `unzip 文件名` 获得解压后的文件夹
3.输入 `cd 解压后的文件夹名` 进入该目录
4.输入 `mv -bf * ../` 把当前文件夹下的所有文件全部移动到上一级目录并覆盖,如果上一级目录存在该文件则备份(备份格式为原文件名后加上~)
5.输入 `cd ../` 进入上一级目录
6.输入 `rm -rf *~` 删除当前文件目录下所有最后字符为~的文件(即第四步生成的所有备份文件)
7.输入 `rm -rf 文件名*` 删除当前目录下上传的压缩文件和压缩后的文件目录(mv命令已经移动了该目录下的所有文件,即为空目录)
本作品采用《CC 协议》,转载必须注明作者和本文链接