随手就来的命令
$ lsof 列出系统所有打开的文件
$ lsof /etc/ 查看那些程序在使用某个目录
$ lsof -i [46] [protocol][@hostname|hostaddr][:service|port] 显示符合条件的进程情况
$ lsof -i :22 查看某个端口在运行什么程序
$ netstat -tupnl 查看当前系统监听端口和对应的程序,只针对 udp 和 tcp 协议
$ runlevel 查看当前运行级别
$ update-rc.d 设置某个服务是否启动在那个启动级别
$ date -s 修改时间加 -s 参数
$ cal 日历
$ uptime 系统运行时间
$ hwclock 查看系统时钟
$ less 代上下翻页功能,与 more 类似,more 只能向下翻页
$ head 查看文件头部,默认显示 10 行
$ tail -f 查看文件尾部,默认显示 10 行,-f, 滚动输出
$ lspci -v 查看硬件信息,-v 查询详细信息
$ lsmod 查看加载的模块(驱动)
$ lsusb 查看 usb 信息
$ poweroff 立即关机
$ reboot 立即重启计算机
$ zip xxx.zip myfile 压缩文件为 xxx.zip
$ unzip xxx.zip 解压文件
$ tar -cvf 归档文件命令,只归档不压缩
$ tar -xvf 解归档文件
$ tar -cvzf 在进行归档的同时,也进行压缩 -- 最常用的命令
$ locate keyword 查找文件,包含 keyword 关键字的文件, 查找的是默认的数据库
$ updatedb 手动立即更新 locate 查找的数据库
$ find 查找位置 参数 如 find . -name *xxx* 当前目录查找
$ find / -name *.conf 根目录下查找
$ find / -perm 777 所有权限是 777 的文件
$ find / -type d 文件类型来查找 d 代表是目录 l 代表是链接
$ find . -name "a*" -exec ls -l {} \;
$ grep keyword < /etc/xxx (some file) 从某个路径的文件中查找关键字
$ find / -user yang 2> /dev/null | grep keyword 将错误信息丢弃掉,/dev/null代表丢弃信息
$ grep 'keyword' /etc/passwd 查找关键字,在某个文件中
-i 忽略大小写
-n 显示结果所在行数
-v 输出不带关键字的行
$ cut -d: -f1 /etc/passwd 基于分隔符冒号来以列的方式显示文本
-d 指定分隔符 默认是 tab 分隔符
-f 指定显示第几列
-c 基于字符进行切割 cut -c2-6 /etc/passwd 只显示第二到第六个字符
$ wc -lwcm 统计文本信息,结果包括行数 单词数 字节数 字符数
$ sort - 不要称自己为程序员 对文本内容进行排序
$ diff -ibu 比较 2 个文本文件
$ tr -d 'TMD' < file 删除或者转换大小写,将 file 文件中 'TMD' 关键字删除
$ tr 'a-z' 'A-Z' < file 转换为大写
$ sed 's/linux/unix/g' file 文本查找并替换关键字,将 file 文件中的 linux 关键字替换为 unix,/g 参数代表同时替换多个
$ sed '1,50s/linux/unix/g' file 从第一行到第 50 行查找并替换
$ sed -e 's/linux/unix/g' -e 's/xxx/ooo/g' file -e 参数代表可以同时指定多个关键字进行查找和替换
$ service 服务名 [start/stop/status]
$ chkconfig 服务名 [on/off/--list] 设置服务在起动级别下是否启动
$ dpkg -L 安装的软件名称 列出安装的软件所有文件在系统中目录的分布情况
$ dpkg -l 列出系统中所有安装的包
$ dpkg -l | wc -l 统计所有安装的包
$ dpkg -r --purge xxx 删除某软件包,xxx 代表已经安装到系统中软件包名称,不是源文件名称,--purge 代表配置文件同时删除
$ dpkg -i xxx.deb 安装某软件包
$ scp local_file [email protected]_host_ip: remote_file_path 复制本地文件到远程
$ scp [email protected]_host_ip: remote_file_path local_file_path 复制远程文件到本地
$ ln -s 源文件位置 目标文件位置 建立链接,-s 代表建立软链接,软连接和硬链接都是同步更新的
$ df -h 统计磁盘容量命令,-h 代表使用 m、g 等单位显示磁盘容量
$ du -ahs 目录 统计目录下所有文件占用空间大小 -h 易读方式显示,-s 只统计目录所占总的大小,-a 显示目录及其所有子目录
$ du / 目录 | sort -nr | more 对目录中每个文件占用空间按照从大到小进行排序显示
$ cp /dev/cdrom/home/sunky/mydisk.iso 将光盘中的所有文件制作光盘镜像 iso 文件 (mydisk.iso)
$ mkisofs -r -J -V mydisk xxx.iso xxx 目录 可以将 xxx 目录制作为镜像文件 xxx.iso,同时指定卷标为 mydisk
$ mount xxx.iso / 目录 挂接某个 iso 文件到某个挂接点(就是一个目录),然后在这个目录中就可以访问镜像中文件
$ mount –o iocharset=utf8 /dev/hda5/mnt/hda5 挂载 windows 下分区,到 /mnt/hda5 目录,-o iocharset=utf8 参数设定中文目录和文件
$ sudo fdisk -l 查看硬盘信息
Bash
ctrl+w 删除最后一个单词
ctrl+u 删除一行
xargs
pgrep pkill
nohup disown
ctrl + z 将前台作业放至后台运行 -- 暂停状态,那么你就可以继续获取 shell 的控制权了
ctrl + c 中断作业
bg 将前台作业放至后台运行,处于运行状态
fg 将后台作业放至前台继续运行
jobs -rs 查看所有的后台运行作业以及其状态,r - 正在运行的作业,s - 正在暂停的作业
xxx & 某某任务后加上 & 命令,在后台运行任务,你可以继续操作终端 shell
ctrl + a,ctrl + e 在 命令行输入命令是,直接跳到命令行开头,直接跳到命令行结尾