Ailurus 之座右铭
授人以鱼,不如授人以渔。
显示本机 Linux 发行版代号
lsb_release -is
显示 Linux 发行版版本号
lsb_release -rs
显示 Linux 的产品代号
lsb_release -cs
显示计算机硬件名称
uname -m
列出所有 PCI 设备, 比如显卡和网卡。
lspci
回收内存中的页面、目录项和 i-节点
echo 3 > /proc/sys/vm/drop_caches
列出 Linux 内核加载的模块
lsmod
列出 USB 设备
lsusb -v
显示网卡的状态
sudo ethtool eth0
列出硬件信息
sudo lshw
列出硬盘分区
sudo fdisk -l
显示 SATA 硬盘的参数
sudo hdparm -I /dev/sda
显示硬盘空间的使用情况
df -h
显示文件/文件夹所占的磁盘空间
du -bsh FOLDER_NAME
显示空闲内存量、正在使用的内存量
free
列出进程
ps -e
列出进程树
pstree
动态地列出进程
top
给定进程ID,终止进程
sudo kill -9 PROCESS_ID
给定进程名称,终止所有具有这个名称的进程
sudo killall PROCESS_NAME
列出指定的进程正在使用的所有文件
lsof -p PROCESS_ID
lsof -c PROCESS_NAME
列出正在使用指定文件的全部进程
lsof FILE_NAME
列出正在使用 80 端口的全部进程
lsof -i :80
配置一个 ADSL 连接
sudo pppoeconf
启动 ADSL 连接
sudo pon
关闭 ADSL 连接
sudo poff
给定 IP 地址,查询 MAC
arping IP_ADDRESS
给定 IP 地址,查 NetBIOS 名称
nmblookup -A IP_ADDRESS
显示 IP 地址和 MAC
ifconfig -a
显示路由
netstat -rn
设置网卡的 MAC
sudo ifconfig eth0 hw ether 00:11:22:33:44:55
显示域名的注册信息
whois example.com
给定一个主机,显示到这个主机的网路路径
tracepath example.com
从 DHCP 服务器获取 IP 地址
sudo dhclient
临时重启动一个 init 脚本
sudo /etc/init.d/SCRIPT_NAME restart
临时停止一个 init 脚本
sudo /etc/init.d/SCRIPT_NAME stop
增加一个用户
sudo adduser USER_NANE
减少一个用户
sudo deluser USER_NAME
改变用户的密码
sudo passwd USER_NAME
设置当前用户的姓名,办公室地址,家庭电话等信息。
sudo chfn USER_NAME
显示用户信息
finger USER_NAME
临时禁止一个用户登录
sudo usermod -L USER_NAME
再次允许一个用户登录
sudo usermod -U USER_NAME
将用户加入管理员组
sudo usermod -G admin -a USER_NAME
设置 HTTP 代理
export http_proxy=http://PROXY.DOMAIN.NAME:PORT
修改用户登录到系统以后显示的信息
sudo vim /etc/motd.tail
选择 X 窗口的输入法
im-switch -c
将文件名从 GBK 编码转换为 UTF8 编码
convmv -r -f gbk -t utf8 --notest FILE_NAME
将文件内容从 GBK 编码转换为 UTF8 编码
iconv -f gbk -t utf8 FILE_NAME
将 '*.mp3' 文件中的标签内容从 GBK 编码转为 UTF8 编码
find . -name '*.mp3' -execdir mid3iconv -e GBK {} \;
读一个长文件
less FILE_NAME
打印一个文件中,匹配给定模式的行
grep REG_EXP FILE_NAME
列出文件名。这些文件包含了给定的字符串。
grep -lr REG_EXP PATHNAME
列出所有 '.txt' 文件
find . -name '*.txt'
创建两个空文件
touch file_name_1 file_name_2
创建目录。如果父目录不存在,则也创建父目录。
mkdir -p /tmp/a/b/c/d/e
将当前工作目录改为家目录
cd
将当前工作目录改变为上一个工作目录
cd -
列出隐藏文件
ls -a
复制目录。保留链接、文件权限、所有者、访问时间。
cp -a SOURCE_DIRECTORY DEST_DIRECTORY
确定文件类型
file FILE_NAME
输出文件的最后 6 行
tail -n 6 FILE_NAME
通过 SSH 协议复制文件
scp -rp FILE_NAME USERNAME@HOST:DEST_PATH
将 '*.rm' 文件改名为 '*.rmvb'
rename 's/.rm$/.rmvb/' *
将文件名改为小写
rename 'tr/A-Z/a-z/' *
列出当前目录中的子目录
ls -d */.
显示当前目录中的文件数量
ls . | wc -w
解压缩 "*.gz" 文件
gunzip FILE_NAME.gz
解压缩 "*.tar.gz" 文件
tar zxf FILE_NAME.tar.gz
解压缩 "*.tar.bz2" 文件
tar jxf FILE_NAME.tar.bz2
压缩文件
tar czf FILE_NAME.tar.gz FILE1 FILE2 FILE3
tar cjf FILE_NAME.tar.bz2 FILE1 FILE2 FILE3
显示月历
cal
cal MONTH YEAR
用 NTP 服务设置系统日期和时间
sudo ntpdate ntp.ubuntu.com
关机
sudo halt
sudo shutdown -h now
在晚上 23:00 关机
sudo shutdown -h 23:00
在 60 分钟以后关机
sudo shutdown -h +60
重启动电脑
sudo reboot
sudo shutdown -r now
If you want some program to start up automatically, please put '.desktop' files into '$HOME/.config/autostart'
You can configure "preferred applications" by this file "$HOME/.local/share/applications/mimeapps.list"
连续监视内存使用情况
watch -d free
显示服务器的 HTTP HEAD 响应
w3m -dump_head http://example.com
带行号输出文件内容
nl FILE_NAME
消灭 Rootkit
sudo rkhunter --checkall
设置主机名
sudo hostname new_name
"Tasksel" 将软件包分组为 "任务"。你可以选择某个"任务",并安装所有必需的软件包。使用"Tasksel",很容易架设 LAMP 服务器或者云计算服务器。
列出全部任务
tasksel --list
显示任务详情
tasksel --task-desc lamp-server
显示任务包括了哪些软件包
tasksel --task-packages lamp-server
安装/删除一个任务
gksudo tasksel
改变进程优先级
renice NEW_PRIORITY `pgrep NAME_OF_PROCESS`
例子: renice 5 `pgrep firefox`
renice -5 `pgrep wine-server`
high <------------------> low
NEW_PRIORITY = -19, -18, -17 [...] 18, 19, 20
清空 Bash 历史记录
history -c
If you want to use colorful "ls", that is, use colors to distinguish types of files, you can add these lines in $HOME/.bashrc:
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
fi
查看外网的IP地址
w3m -no-cookie -dump www.123cha.com | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
$HOME/.thumbnails/ directory is a cache dir GNOME makes when you browse through your folders in nautilus.
It contains thumbnail pictures of picture files you've previously looked at.
You can get its total size by
du -bs $HOME/.thumbnails/
You can delete the files in the .thumbnails directory that haven't been accessed for seven days, to free disk space.
find $HOME/.thumbnails/ -type f -atime +7 -exec rm {} \;
在 10 秒钟后截屏
gnome-screenshot -d 10
在 10 秒钟后将当前窗口抓图
gnome-screenshot -wd 10
要启动 GConf editor 编辑器:
按下 Alt+F2 键,并敲入“gconf-editor”。
设置apt软件源
sudo software-properties-gtk
sudo software-properties-kde
显示已经被删除的,但残留有配置文件的软件包
dpkg -l | awk '/^rc/ {print $2}'
增加 PPA 源:
sudo add-apt-repository ppa:PPA源的名称
给定一个软件包名称,列出这个软件包安装的所有文件。
dpkg -L PACKAGE_NAME
给定一个文件。列出哪些软件包可以安装这个文件。
dpkg -S FILE_NAME
列出一些软件包。它们的名称符合给定的正则表达式。
apt-cache search REG_EXPRESSION
给定一个文件,列出哪些软件包可以安装这个文件。
apt-file search FILE_NAME
给定一个软件包,列出这个软件包依赖哪些软件包。
apt-cache depends PACKAGE_NAME
给定一个软件包。列出依赖给定软件包的全部软件包。
apt-cache rdepends PACKAGE_NAME
提示插入一个光盘,然后将这个光盘加入软件源。
sudo apt-cdrom add
将系统中已经安装的软件包全部更新到最新版本。
sudo apt-get upgrade
在删除软件包以后,删除残留的配置文件。
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P
自动安装必需的文件 './configure ; make ; make install'
sudo auto-apt run ./configure
保存您的系统当前安装的软件包的列表
dpkg --get-selections | grep -v deinstall > SOME_FILE
然后您可以恢复软件包
dpkg --set-selections < SOME_FILE ; sudo dselect
在运行 "sudo apt-get install" 后,"*.deb" 文件保存在 "/var/cache/apt/archives" 目录
您可以这样删除这个目录里的 "*.deb" 文件:
sudo apt-get clean
给定一个软件包,显示它的下载网址
apt-get -qq --print-uris install PACKAGE_NAME
显示 apt 缓存区的一些统计信息
apt-cache stats
列出所有存在的软件包
apt-cache pkgnames
给定一个包,显示一些信息
apt-cache show PACKAGE_NAME
授人以鱼,不如授人以渔。
显示本机 Linux 发行版代号
lsb_release -is
显示 Linux 发行版版本号
lsb_release -rs
显示 Linux 的产品代号
lsb_release -cs
显示计算机硬件名称
uname -m
列出所有 PCI 设备, 比如显卡和网卡。
lspci
回收内存中的页面、目录项和 i-节点
echo 3 > /proc/sys/vm/drop_caches
列出 Linux 内核加载的模块
lsmod
列出 USB 设备
lsusb -v
显示网卡的状态
sudo ethtool eth0
列出硬件信息
sudo lshw
列出硬盘分区
sudo fdisk -l
显示 SATA 硬盘的参数
sudo hdparm -I /dev/sda
显示硬盘空间的使用情况
df -h
显示文件/文件夹所占的磁盘空间
du -bsh FOLDER_NAME
显示空闲内存量、正在使用的内存量
free
列出进程
ps -e
列出进程树
pstree
动态地列出进程
top
给定进程ID,终止进程
sudo kill -9 PROCESS_ID
给定进程名称,终止所有具有这个名称的进程
sudo killall PROCESS_NAME
列出指定的进程正在使用的所有文件
lsof -p PROCESS_ID
lsof -c PROCESS_NAME
列出正在使用指定文件的全部进程
lsof FILE_NAME
列出正在使用 80 端口的全部进程
lsof -i :80
配置一个 ADSL 连接
sudo pppoeconf
启动 ADSL 连接
sudo pon
关闭 ADSL 连接
sudo poff
给定 IP 地址,查询 MAC
arping IP_ADDRESS
给定 IP 地址,查 NetBIOS 名称
nmblookup -A IP_ADDRESS
显示 IP 地址和 MAC
ifconfig -a
显示路由
netstat -rn
设置网卡的 MAC
sudo ifconfig eth0 hw ether 00:11:22:33:44:55
显示域名的注册信息
whois example.com
给定一个主机,显示到这个主机的网路路径
tracepath example.com
从 DHCP 服务器获取 IP 地址
sudo dhclient
临时重启动一个 init 脚本
sudo /etc/init.d/SCRIPT_NAME restart
临时停止一个 init 脚本
sudo /etc/init.d/SCRIPT_NAME stop
增加一个用户
sudo adduser USER_NANE
减少一个用户
sudo deluser USER_NAME
改变用户的密码
sudo passwd USER_NAME
设置当前用户的姓名,办公室地址,家庭电话等信息。
sudo chfn USER_NAME
显示用户信息
finger USER_NAME
临时禁止一个用户登录
sudo usermod -L USER_NAME
再次允许一个用户登录
sudo usermod -U USER_NAME
将用户加入管理员组
sudo usermod -G admin -a USER_NAME
设置 HTTP 代理
export http_proxy=http://PROXY.DOMAIN.NAME:PORT
修改用户登录到系统以后显示的信息
sudo vim /etc/motd.tail
选择 X 窗口的输入法
im-switch -c
将文件名从 GBK 编码转换为 UTF8 编码
convmv -r -f gbk -t utf8 --notest FILE_NAME
将文件内容从 GBK 编码转换为 UTF8 编码
iconv -f gbk -t utf8 FILE_NAME
将 '*.mp3' 文件中的标签内容从 GBK 编码转为 UTF8 编码
find . -name '*.mp3' -execdir mid3iconv -e GBK {} \;
读一个长文件
less FILE_NAME
打印一个文件中,匹配给定模式的行
grep REG_EXP FILE_NAME
列出文件名。这些文件包含了给定的字符串。
grep -lr REG_EXP PATHNAME
列出所有 '.txt' 文件
find . -name '*.txt'
创建两个空文件
touch file_name_1 file_name_2
创建目录。如果父目录不存在,则也创建父目录。
mkdir -p /tmp/a/b/c/d/e
将当前工作目录改为家目录
cd
将当前工作目录改变为上一个工作目录
cd -
列出隐藏文件
ls -a
复制目录。保留链接、文件权限、所有者、访问时间。
cp -a SOURCE_DIRECTORY DEST_DIRECTORY
确定文件类型
file FILE_NAME
输出文件的最后 6 行
tail -n 6 FILE_NAME
通过 SSH 协议复制文件
scp -rp FILE_NAME USERNAME@HOST:DEST_PATH
将 '*.rm' 文件改名为 '*.rmvb'
rename 's/.rm$/.rmvb/' *
将文件名改为小写
rename 'tr/A-Z/a-z/' *
列出当前目录中的子目录
ls -d */.
显示当前目录中的文件数量
ls . | wc -w
解压缩 "*.gz" 文件
gunzip FILE_NAME.gz
解压缩 "*.tar.gz" 文件
tar zxf FILE_NAME.tar.gz
解压缩 "*.tar.bz2" 文件
tar jxf FILE_NAME.tar.bz2
压缩文件
tar czf FILE_NAME.tar.gz FILE1 FILE2 FILE3
tar cjf FILE_NAME.tar.bz2 FILE1 FILE2 FILE3
显示月历
cal
cal MONTH YEAR
用 NTP 服务设置系统日期和时间
sudo ntpdate ntp.ubuntu.com
关机
sudo halt
sudo shutdown -h now
在晚上 23:00 关机
sudo shutdown -h 23:00
在 60 分钟以后关机
sudo shutdown -h +60
重启动电脑
sudo reboot
sudo shutdown -r now
If you want some program to start up automatically, please put '.desktop' files into '$HOME/.config/autostart'
You can configure "preferred applications" by this file "$HOME/.local/share/applications/mimeapps.list"
连续监视内存使用情况
watch -d free
显示服务器的 HTTP HEAD 响应
w3m -dump_head http://example.com
带行号输出文件内容
nl FILE_NAME
消灭 Rootkit
sudo rkhunter --checkall
设置主机名
sudo hostname new_name
"Tasksel" 将软件包分组为 "任务"。你可以选择某个"任务",并安装所有必需的软件包。使用"Tasksel",很容易架设 LAMP 服务器或者云计算服务器。
列出全部任务
tasksel --list
显示任务详情
tasksel --task-desc lamp-server
显示任务包括了哪些软件包
tasksel --task-packages lamp-server
安装/删除一个任务
gksudo tasksel
改变进程优先级
renice NEW_PRIORITY `pgrep NAME_OF_PROCESS`
例子: renice 5 `pgrep firefox`
renice -5 `pgrep wine-server`
high <------------------> low
NEW_PRIORITY = -19, -18, -17 [...] 18, 19, 20
清空 Bash 历史记录
history -c
If you want to use colorful "ls", that is, use colors to distinguish types of files, you can add these lines in $HOME/.bashrc:
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
fi
查看外网的IP地址
w3m -no-cookie -dump www.123cha.com | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
$HOME/.thumbnails/ directory is a cache dir GNOME makes when you browse through your folders in nautilus.
It contains thumbnail pictures of picture files you've previously looked at.
You can get its total size by
du -bs $HOME/.thumbnails/
You can delete the files in the .thumbnails directory that haven't been accessed for seven days, to free disk space.
find $HOME/.thumbnails/ -type f -atime +7 -exec rm {} \;
在 10 秒钟后截屏
gnome-screenshot -d 10
在 10 秒钟后将当前窗口抓图
gnome-screenshot -wd 10
要启动 GConf editor 编辑器:
按下 Alt+F2 键,并敲入“gconf-editor”。
设置apt软件源
sudo software-properties-gtk
sudo software-properties-kde
显示已经被删除的,但残留有配置文件的软件包
dpkg -l | awk '/^rc/ {print $2}'
增加 PPA 源:
sudo add-apt-repository ppa:PPA源的名称
给定一个软件包名称,列出这个软件包安装的所有文件。
dpkg -L PACKAGE_NAME
给定一个文件。列出哪些软件包可以安装这个文件。
dpkg -S FILE_NAME
列出一些软件包。它们的名称符合给定的正则表达式。
apt-cache search REG_EXPRESSION
给定一个文件,列出哪些软件包可以安装这个文件。
apt-file search FILE_NAME
给定一个软件包,列出这个软件包依赖哪些软件包。
apt-cache depends PACKAGE_NAME
给定一个软件包。列出依赖给定软件包的全部软件包。
apt-cache rdepends PACKAGE_NAME
提示插入一个光盘,然后将这个光盘加入软件源。
sudo apt-cdrom add
将系统中已经安装的软件包全部更新到最新版本。
sudo apt-get upgrade
在删除软件包以后,删除残留的配置文件。
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P
自动安装必需的文件 './configure ; make ; make install'
sudo auto-apt run ./configure
保存您的系统当前安装的软件包的列表
dpkg --get-selections | grep -v deinstall > SOME_FILE
然后您可以恢复软件包
dpkg --set-selections < SOME_FILE ; sudo dselect
在运行 "sudo apt-get install" 后,"*.deb" 文件保存在 "/var/cache/apt/archives" 目录
您可以这样删除这个目录里的 "*.deb" 文件:
sudo apt-get clean
给定一个软件包,显示它的下载网址
apt-get -qq --print-uris install PACKAGE_NAME
显示 apt 缓存区的一些统计信息
apt-cache stats
列出所有存在的软件包
apt-cache pkgnames
给定一个包,显示一些信息
apt-cache show PACKAGE_NAME