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 dirmkdir -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 即可,如下命令排除其中 logsuploads 两个目录及文件 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 重启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>&1 php以后台守护的方式执行某个文件

  • 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 协议》,转载必须注明作者和本文链接
EMin
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!