https://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html

查找文件、目录

  1. cd #root根目录
  2. cd / #系统根目录
  3. cd ../../ #返回上上层级目录

列出目录下文件

  1. ls -a #列出所有文件
  2. ls -d #列出目录
  3. ls -l #较长格式列出
  4. ls -lh #人性化阅读输出

清屏

  1. clear #清屏

显示目录

  1. dirs -l #显示完整目录

显示工作目录

  1. pwd #显示当前工作目录

显示网络设备

  1. ifconfig #处于激活的网络接口
  2. ifconfig -a #所有配置的网络接口

切换用户

  1. su +用户名 #切换到用户
  2. su +命名 #在root用户下执行一条命令
  3. sudo su #以下的命令都用root用户执行
  4. su root #切换root用户

修改文件调用权限

  1. chmod[ugoa][+-=][...]
  2. u:表示该文件拥有者
  3. g:表示与该文件拥有者属于同一个群体
  4. o:表示其他以外的
  5. s:当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
  6. +:表达增加权限
  7. -:减少权限
  8. =:唯一设定权限
  9. r:可读取
  10. w:可写入
  11. x:可执行
  12. -R:对目录下子文件起作用
  13. r=4w=2x=1
  14. chmod ugo+r file.txt # 文件所有人都可以读取
  15. chmod a+r file.txt # 文件所有人都可以读取
  16. chmod ug+w,o-w file.txt file1.txt #文件file.txt file1.txt设为改拥有者和同一群体可写入,其他人不可写入
  17. chmod -R a+r * # 目录下所有文件所有人都可读取
  18. chmod u+s /usr/local/nginx/sbin/nginx # 让非root用户可启动nginx

查看文件内容

  1. cat +目标文本 #普通输出
  2. tac +目标文本 #反向显示内容
  3. head -n 10 info.log #显示文件前10行内容
  4. more -5 -p info.log # 每次显示5行,每次翻页清空屏幕内容

创建文件

  1. touch +文件名 #创建文件
  2. touch -p test{1..5}.py # 创建多个文件
  3. mkdir + 文件名 # 创建文件
  4. mkdir -p 文件名 # 递归创建文件
  5. less info.log #任意查看文件内容

复制文件

  1. scp [可选参数] file_source file_target
  2. scp /home/space/music/1.mp3 root@remote_host:/home/space/music/1.mp3 #复制本地文件到远程
  3. scp root@remote_host:/home/space/music/1.mp3 /home/space/music/1.mp3 #复制远程文件到本地

删除文件

  1. rm -f testfile.txt # 删除文件
  2. rm -rf testfile # 删除文件夹

查找文件

  1. whereis 文件名
  2. find -name 文件名
  3. find -path /test/cool '*.txt'

编辑文本

  1. vim 文本名 #编辑某文本
  2. 点击i进入insert模式,
  3. 点击Esc按钮可以退出编辑模式
  4. 退出编辑后输入 Shift + g 跳转到文档最后
  5. 输入: ,可以输入文档相关的命令
  6. wq:表示保存并退出
  7. q:表示退出
  8. q!:表示强制退出,不保存修改的内容

查看用户历史操作

  1. history #查看所有执行过的命令
  2. history -c #清除历史记录

关机、重启

  1. shutdown -h now #立即关机
  2. shutdown -r now/rebot #重启

比较两个文件差异

  1. diff 文件1 文件2 #比较二个文件的不同
  2. diff -r 文件夹1/文件夹2 #递归比较两个文件夹的不同

下载软件包命令

  1. apt-get install 软件/包 #安装包
  2. apt-get update 软件/包 #更新软件
  3. apt-get remove 软件/包 #卸载软件
  4. apt-get upgrade #更新已安装的包
  5. apt-get clean #清理无用的包

wget下载

  1. wget httpXXX # 下载xxx
  2. wget -o test httpdddd # 下载xxx名存储名为test
  3. wget -b httpxxx # 后台形式下载
  4. wget http://172.0.0.1/download -O {保存地址/下载的文件的名称}

查看滚动日志

  1. tail -f test.log #滚动查看名字为test.log的文档内容,不进入编辑界面

查看进程

  1. ps -aux | grep -i 'zaygee' #查看zaygee相关进程,关键字忽略大小写
  2. -aux 显示所有包含其他使用者的行程
  3. ps -ef # 显示所有命令,连带命令行
  4. netstat -a # 详细的网络情况
  5. netstat -s # 显示网络统计信息
  6. # 查看进程状态信息
  7. ll /proc/{pid}
  8. ls -al /proc/{pid}

ps -aux返回列表参数说明:

  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER:行程拥有者
  • %cpu:占用的cpu使用率
  • %mem:物理内存占用率
  • VSZ:虚拟内存占用量
  • RSS:进程当前实际占用多少内存
  • STAT:该程序目前状态
    • R 正在运行
    • D 不可中断
    • S 中断
    • T 停止
    • Z 僵尸进程,该程序已终止但父程序无法正常的终止他
  • START:该进程启动的时间点
  • TIME:启动后到当前实际占用cpu的总时间
  • COMMAND:启动该进程的命令
    1. top
    2. #按M,内存从大到小排序
    3. #按P, cpu使用率从大到小排序
    4. k, 输入pid杀掉进程

    清除进程

    ```shell kill 1(HUP):重新加载进程 9(KILL):杀死进程 15(TEAM):正常停止一个进程

kill -9 ‘ps aux|grep -i ‘java’| grep -v ‘grep’ | awk ‘{print $2}’ # 强制杀掉进程为java且忽略grep相关进程并打印第二行

  1. <a name="DxGPS"></a>
  2. #### 压解包
  3. ```shell
  4. # 压缩
  5. tar -zcvf zaygeetest.tar.gz zaygeetest.py #压缩一个文件zaygeetest.py
  6. tar -zcvf all.tar.gz test1.py test2.py # 压缩多个文件 test1.py test2.py
  7. tar -zcvf folder.tar.gz testfloder/ # 压缩文件
  8. #解压
  9. tar -xvf test.tar # 解压test.tar
  10. tar zxvf test.tar.gz # 解压test.tar.gz
  11. # 打包
  12. tar -cvf all.tar.gz *.py # 将当前目录py文件打包成all.tar
  13. tar -zcvf all.tar.gz *.py #将当前目录py文件打包成all.tar.gz

显示系统内存使用情况

  1. free -t # 显示系统当前的内存使用情况
  2. df -h # 显示磁盘使用量

显示行号-nl

  1. nl test.txt # 显示行号
  2. nl -n ln test.txt # 行号靠最左显示

获取服务器外网地址

  1. curl ifconfig.me

测试打开网站

  1. curl http://www.baidu.com