Linux常用命令汇总

本贴最后更新于 2788 天前,其中的信息可能已经斗转星移

随手就来的命令

$ 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 yangchangming 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 复制远程文件到本地

Bash功能

ctrl+w 删除最后一个单词
ctrl+u	 删除一行
xargs
pgrep pkill 
nohup disown
ctrl + z	 将前台作业放至后台运行--暂停状态,那么你就可以继续获取shell的控制权了
ctrl + c	 中断作业
bg	 将前台作业放至后台运行,处于运行状态
fg	 将后台作业放至前台继续运行
jobs	-rs	 查看所有的后台运行作业以及其状态,r - 正在运行的作业,s - 正在暂停的作业
xxx &	 某某任务后加上&命令,在后台运行任务,你可以继续操作终端shell
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文件到某个挂接点(就是一个目录),然后在这个目录中就可以访问镜像中文件
sudo fdisk -l	 查看硬盘信息
ctrl + a , ctrl + e	 在 命令行输入命令是,直接跳到命令行开头,直接跳到命令行结尾
mount –o iocharset=utf8 /dev/hda5/mnt/hda5 挂载windows下分区,到/mnt/hda5目录,-o iocharset=utf8 参数设定中文目录和文件

 X server 没有响应,4种解决办法

$ sudo service lightdm restart 切换到控制台后(ctrl+alt+f_数字),执行此命令,或者远程SSH登录到本机执行
$ ctrl + alt + backspace 立即重启X Server ,需要系统已经激活该快捷键;如果xserver挂掉,不一定会生效
$ alt + SysRq(PrintScreen) + k(r) k - 可以杀死所有的x窗口程序,包括xserver;r - 可以从xserver手中抢回键盘控制权 
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    915 引用 • 931 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • xxrui

    确实很多不知道,

  • relyn

    收藏收藏~~