[Linux] Linux命令行与Shell脚本编程大全 Part.2

进程

  • Linux是多用户系统,多个用户可以在不同地方通过网络连接到一个Linux系统上进行操作
  • w:显示登录人员信息
    • date:显示当前日期、时间和时区
    • up:从开机登录到现在经过的时间
    • load average:系统平均负载(5,10,15分钟)
    • 用户登录列表
  • ps:显示当前系统中的进程(当前运行 ps 命令的用户在当前这个终端中所运行的进程)
    • PID(process identifier):进程号
    • TTY:进程运行所在的终端
    • TIME:进程运行了多久
    • CMD:产生这个进程的程序名
    • -ef:列出所有用户在所有终端的所有进程
      • PPID:程序的父进程号
      • ps -ef | less
    • -efH:按照乔木状列出进程
    • -u:列出此用户运行的进程
    • -aux:
      • ps -aux --sort -pcpu | less:按CPU使用率降序排列
      • ps -aux --sort -pmem | less:按内存使用率降序排列
      • ps -aux --sort -pcpu,+pmem | head:将CPU和内存参数合并,并显示前10个结果
    • -axjf:以树形结构显示进程
    • 状态码
      • D:不可中断(通常是IO)
      • R(runnable):运行
      • S(sleeping):中断
      • T(traced):停止
      • Z(zombie):僵死
  • top:进程的动态列表(实时更新)
  • 其他软件
    • sudo apt install glances
    • sudo apt install htop
  • kill:停止进程(或Ctrl+C)
    • -9:强制结束进程
  • halt:关闭系统
  • reboot:重启系统
  • &
    • 后台运行进程
    • cp emacs-26.2.tar.gz emacs-26.2-copy.tar.gz &
    • 后台拷贝文件
    • sudo find / -name "*log" > output_find &
    • 后台查找并输出结果到文件
  • nohup
    • 进程与终端分离,即使终端关闭也能运行
    • 如远程登录服务器,运行一个耗时的程序
  • bg:运行/后台切换
  • ctrl+Z:转到后台并暂停运行
  • jobs:显示后台进程状态
  • fg:使进程转到前台

  •  screen:打开虚拟终端
  • Ctrl+D:关闭当前虚拟终端(或exit)
  • 其他软件
    • sudo apt install terminator
  • date:调节时间
  • at:延时执行一个程序
    • atq:列出正在等待执行的at任务
    • atrm:删除正在等待执行的at任务
  • sleep:休息一会
    • touch file.txt ; sleep 10 ; rm file.txt
    • 执行两个命令,中间休息10秒
  • && 和 ||
    • &&前的命令执行成功,才会执行后面的命令
    • ||号前的命令执行失败,才会执行后面的命令
    • ; 前后的命令没有相关性,不论前面的命令成功与否都会执行后面的命令
  • crontab:定时执行程序
    • -e:修改crontab文件
    • -l:显示crontab文件
    • -r:删除crontab文件
    • 10 22 * * * touch ~/file.txt
      • 每天 22 点 10 分都在家目录下创建 file.txt 文件

压缩 / 解压

  • tar:将多个文档归档
    • -cvf:创建一个tar归档(c--create;v--verbose,显示操作细节;f--file)
      • tar -cvf sorting.tar sorting/
    • -tf:查看生成的归档中的内容
      • tar -tf sorting.tar
    • -rvf:追加文件到归档
      • tar -rvf archive.tar file_extra.txt
    • -xvf:解开归档
      • tar -xvf sorting.tar
    • -zcvf:归档,然后用gzip压缩
      • tar -zcvf sorting.tar.gz sorting
    • -zxvf:解压
      • tar -zxvf sorting.tar.gz
    • -jcvf:归档,然后用bzip2压缩归档  
      • tar -jcvf sorting.tar.bz2 sorting
    • -jxvf:解压
      • tar -jxvf sorting.tar.bz2
  • gzip/bzip2:压缩归档
    • gzip sorting.tar
    • gunzip sorting.tar.gz
  • zip/unzip 和 rar/unrar:压缩/解压 zip 和 rar 文件
    • sudo apt install unzip
    • unzip archive.zip
    • unzip -l archive.zip(只看内容)
    • zip -r sorting.zip sorting/(r表示递归)
    • sudo apt install unrar
    • unrar e archive.rar(e表示提取)
    • unrar l archive.rar(只看内容)
    • rar a sorting.rar sorting/

SSH

  • 安装
    • sudo apt install openssh-client
    • sudo apt install openssh-server
  • 登录
    • ssh user@host(user--用户名,host--主机名)
  • 修改SSH端口
    • ssh -p 250 user@host  
  • 生成公钥
    • ssh-keygen
  • 将公钥传递到远程服务器(实现免密码登录)  
    • ssh-copy-id user@host

网络

  • wget:下载文件
    • wget [参数] [URL地址](Ctrl+C 停止下载)
    • -c:继续一个中断的下载
  • scp:网间拷贝(基于SSH)
    • scp source_file destination_file
  • ftp & sftp:传输文件
    • -p:连接服务器
      • ftp -p ftp.fr.debian.org
    • put:上传文件
    • get:下载文件
    • sftp user@ip
  • rsync:同步备份(增量备份)
    • 安装
      • sudo apt install rsync
    • 备份到同一台电脑上的其他路径
      • rsync -arv Images/ backups/(a--归档;r--递归;v--冗余)
    • 备份到另一台电脑上
      • rsync -arv --delete Images/ oscar@89.231.45.67:backups/(delete--同步删除操作) 
  • host:IP地址和主机名的相互转换
  • whois:了解域名信息
  • ifconfig(Network Interface Configuration):列出网络接口
    • 三种接口
      • etho0:对应有线连接
      • lo:本地回环,对应一个虚拟网卡
      • wlan0:对应Wi-Fi无线连接
    • 修改接口状态
      • sudo ifconfig eth0 down
    • 配置IP地址
      • ifconfig enp0s3 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
  • netstat:网络统计
    • -i:网络接口信息
    • -uta:列出所有开启的连接(u--UDP连接;t--TCP连接;a--所有状态)
    • -lt:列出状态是LISTEN的统计信息
    • -s:列出总结性的统计信息
  • iptables / nftables:防火墙
    • 规定其它电脑可以使用哪些端口来连接你的电脑(入)
    • 你的电脑可以连接哪些端口(出)
    • 通过 IP 地址来过滤
    • -L:显示所有规则
  • 网络配置
    • 网络配置文件
    • /etc/sysconfig/network-scripts/ifcfg-xxx
    • 重启网卡
    • systemctl restart network  
posted @ 2020-05-06 17:19  cxc1357  阅读(113)  评论(0编辑  收藏  举报