linux系统的基本指令 | php 技术论坛-大发黄金版app下载
- 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 l
- ll查看当前目录下的详细信息,相当于- ls -l指令
- cp 拷贝的目录名/文件名 要去的另一个目录名表示把当前目录的文件拷贝到另一个目录,拷贝目录要用- cp -r
- mv 文件名 要去的目录名/新文件名表示移动文件到另一个目录下,如果是移动在当前目录下,那就是重命名
- yum install tree安装目录显示树结构
- yum install -y vim-enhanced安装vim编辑器
- tree查看当前目录下有哪些东西,以树结构显示
- useradd 用户名创建用户,默认没有密码的,需要设置密码才能登录,如果没有加-g,则会创建一个跟用户名同样名字的组
- useradd -g 用户名创建用户的时候,后面跟现有组的组名或组的id,就是新建用户属于现有的组里面,而不会创建一个跟用户名同样名字的组- useradd -u 用户名自定义新建用户id
- useradd -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和对应所属组的id
- usermod -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 ```- 参考博客: 
- tar -xzvf 被压缩后的文件名 解压(gzip解压)目录文件被解压的压缩包也同样不会被删除
- wget 压缩包下载网址在线下载软件压缩包
- 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重启mysql
- service memcached restart重启memcached
- service redis restart重启redis
- ps -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>&1php以后台守护的方式执行某个文件
- sudo apt install mysql-server-5.7安装mysql服务
- sudo apt install net-tools安装net-tools
- sudo 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 协议》,转载必须注明作者和本文链接
