[What]Linux 常用命令

整理一些常用的命令,便于查阅。

基本使用

查看历史命令

linux 中使用 history 命令来存储历史命令.使用 ! 执行指定序列号的命令.

默认只存储1000条, 可以通过修改环境变量 HISTSIZE 来修改.

history <opt> <display number>

  • -c:清空当前历史命令
  • -a:将历史命令缓冲区中的命令写入历史命令文件中
  • -r:将历史命令文件中的命令读入当前历史命令缓冲区中
  • -w:将 当前 历史命令缓冲区命令写入历史命令文件中

打包/压缩命令

  • 打包 : 将一大堆文件或目录组合为一个总的文件
  • 压缩 : 将一个大文件通过压缩算法变成一个小文件

如果要压缩一大堆文件, 则需要先打包再压缩.

tar [opt] [par]

  • 打包及压缩
#打包文件但不压缩
tar -cvf file.tar file1 file2 ...
#打包后以 gzip 压缩
tar -zcvf file.tar.gz file1 file2 ...
#打包后以 bzip2 压缩
tar -jcvf file.tar.bz2 file1 file2 ...
#在文件夹中,打包比某个日期新的文件
tar -N "2017/7/7" -zcvf file.tar.gz filedir
#打包时,排除 exclude 指定的文件夹, 当有多个文件夹时,使用多个 exclude 即可
tar -zcvf file.tar.gz file --exclude file/name ##忽略文件夹不能有 '/'
  • 查看
#查看 gzip 包中的文件
tar -ztvf file.tar.gz
  • 解压
#解压 gzip 压缩的文件
tar -zxvf file.tar.gz
#解压 bzip 压缩的文件
tar -jxvf file.tar.bz2
#解压部分文件
tar -zxvf file.tar.gz  file1

查看文件大小

du <opt> <file>

  • 显示当前目录下的文件及文件夹占用
du -h
  • 显示指定文件或目录占用大小
du -h file
  • 显示文件占用总和
du -sh

查看文件内容

od <opt> <file> (查看原始内容)

#以num字节组合在一起的方式显示16进制文件内容
od -t x<num> <file>
#在上面命令的基础上显示字符
od -t x<num> -c <file>

搜寻文件

find <opt> <par>

#列出当前目录下的所有文件和文件夹
find .
#在某个目录下查找文件(将 name 换为 iname 为忽略大小写)
find /home/cec -name "*.txt" #查找以 txt 结尾的文件
#查找某几个文件
find /home/cec -name "*.txt" -o -name "*.html"
#排除文件
find /home/cec ! -name "*.txt"

搜寻字符串

grep

#搜寻文件包含的字符串
grep "string" file_name
#多个文件中搜寻字符串
grep "string" file1 fiel2 ...
#搜寻除 string 之外的字符串
grep -v "string" file_name 
#递归搜索字符串
grep "text" . -r -n

包管理

apt

apt 是 apt-get 命令的一个子集, 提供了作为大多数用户常用的简洁命令方式.

apt 命令从 /etc/atp/source.list 文件中获取软件安装源(一般都不是最新的软件包).到本地做了备份.

所以软件源的选择直接关系了安装软件的网速!

#从服务器获取软件包的更新列表,资源索引文件放在 /var/lib/apt/lists 文件夹中
sudo apt update

#升级已经安装的软件
sudo apt upgrade
sudo apt full-upgrade #升级软件并移除不用的软件包

#升级系统
sudo apt dist-upgrade

#安装特定的软件包
sudo apt install <package_name1> <package_name2>

#安装特定的软件包, 当已经安装的情况下,则不操作,而不用升级
sudo apt install <package_name> --no-upgrade

#检查一个软件包是否有更新
sudo apt install <package_name> --only-upgrade

#安装指定版本的软件包
sudo apt install <package_name>=<version_number>

#移除指定的软件(保留配置文件)
sudo apt remove <package_name>

#完全移除一个软件
sudo apt purge <package_name>

#从列表中查找相关软件
apt search <search term>

#查看某个软件的详细信息
apt show <package_name>

#查看可以更新的软件
apt list --upgradable
#查看已经安装的软件
apt list --installed
#查看所有可用的软件
apt list --all-versions

#移除系统不需要的软件
suao apt autoremove

文件同步

rsync

相对于 cp 命令, rsync 是同步文件的不同部分, 所以其执行速度会比较快.

#同步本地文件,加上 "--exclude" 用于排除部分文件
rsync -av --progress [sourcefolder] [distinationfolder] --exclude [thefoldertoexclude]

网络命令

文件下载

快速文件下载器 –> axel [url]

axel 是命令行下使用的快速下载器,支持 HTTP,HTTPS,FTP,FTPS协议下载.

注意:对于需要输入帐号密码才能进入的下载网址,可能会返回错误 HTTP/1.0 403 Forbideen

#install
sudo apt install axel
#useage, x is maximum speed(bytes per second), y is maximum number of connections
axel -s x -n y url1 [url2] [url...]

wget

wget 用于稳定下载,还可以断点续传。

#下载单个文件
wget http://www.linuxde.net/testfile.zip

#下载后重命名
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

#限速下载
wget --limit-rate=300k http://www.linuxde.net/testfile.zip

#断点续传
wget -c http://www.linuxde.net/testfile.zip

#后台下载
wget -b http://www.linuxde.net/testfile.zip

#下载多个文件时,需要先在一个文件中保存所有的下载链接
wget -i filelist.txt

#使用 FTP协议下载
wget ftp-url #匿名
wget --ftp-user=USERNAME --ftp-password=PASSWORD url #登录下载

网络监控

网速查看 nethogs

nethogs 用于查看哪些进程消耗了多少网络带宽

#install
sudo apt install nethogs
#run
sudo nethogs

局域网扫瞄 nmap

  • nmap -sP 192.168.11.0/24 : 扫瞄局域网中已经连接的设备IP
Last Updated 2018-10-14 日 19:32.
Render by hexo-renderer-org with Emacs 26.1 (Org mode 9.1.14)