Linux常用命令汇总(持续更新)

随手就来的命令

$ 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 remote_username@remote_host_ip: remote_file_path 复制本地文件到远程 $ scp remote_username@remote_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 在 命令行输入命令是,直接跳到命令行开头,直接跳到命令行结尾