Linux 常用命令
shell有多种,下面有些命令在某些shell下不可用,更多更具体的命令查询:http://www.computerhope.com/unix.htm
一 打开终端
· 应用程序->附件->终端
二 根符号
· # : root 的命令提示符
· $ : 非特权用户的命令提示符
三 帮助
· whatis commandname 显示该命令的一句话帮助。 commandname。
· commandname -h 简单帮助
· commandname --help 更多帮助
. man commandname 最全的帮助。例如:man man;man bash;man ls.
· man -a commandname 显示命令的解释信息。 commandname. (Unix style)
· info commandname 显示很长的命令解释 commandname. (GNU style)
· type commandname 显示命令 commandname 的信息。
· type -p commandname 显示命令 commandname 所的的地方。 which commandname 也可以用来做这个 。
· apropos key-word 找到和 key-word 相关的命令。 man -k key-word 也可以做到。
· whereis 找到command的shell的位置,和locate差不错。
四 目录
· ls 列出目录内容 (非以.开始的文件和目录)
· ls -a 列出目录内容(所有的文件和目录)
· ls -A 列出目录内容。 (几乎所有的文件和目录,略去".." and ".")
· ls -la 列出目录所有文件和目录的详细信息。
· ls -d 列出当前目录下的目录名称,而不是目录下的内容。
· cd foo 切换到当前目录下或者在变量 CDPATH 中列出来的目录 foo。
· cd / 切换到根目录。
· cd 切换到用户主目录。
· cd ~ 切换到用户主目录。
· cd /foo 切换到绝对路径/foo 所指定的目录。
· cd .. 切换到上一级目录。
· cd ~/foo 切换到用户主目录下的 foo 目录去。
· cd - 切换到上一次所去的目录。
· (cd dir && command) 进入目录dir,执行命令command然后回到当前目录
五 文件
· touch junkfile 创建一个空文件 junkfile。
· cp foo bar 拷贝一个已有的文件 foo 到新文件 bar。
· rm junkfile 删除文件 junkfile
· rm -r directroy 删除文件 目录directory
· mv foo bar 把已有的文件 foo 重命名为 bar
· mv foo bar/baz 把已有的文件 foo 移动到新位置并重命名为 bar/baz。目录 bar 必 须 存 在 。
· mkdir foo 在当前目录下创建一个新的目录 foo。
· ln -s file link 创建 file 的符号连接 link
· file foo 显示 foo 文件的属性。
· lsof foo 显示文件 foo 的打开状态。
· cat test.cpp 查看test.cpp的内容。
· cat test.cpp |more more用来分页查看test.cpp的内容。
· </etc/motd pager 使用默认的分页程序查看文件/etc/motd 的内容。
· basename file 返回不包含路径的文件名,如: basename /bin/tux 会返回 tux。
· dirname file 返回文件所在路径,如:dirname /bin/tux 会返回 /bin。
· chmod 600 foo 让已经存在的文件 foo 其他人不能读写。 (所有人都 不 能执 行) 。
· chmod 644 foo 使文件 foo 其他的人可以读,但是不能写。 (所有人 都不能执行)。
· chmod 755 foo 使文件 foo 其他的人能读不能写。 (所有人都可以执行)。
· chgrp 改变文件或目录所属的组。
· chown 更改某个文件或目录的属主和属组。
· chmod ugo+r file1.txt 更改读写可执行属性
· gzip foo 用 Lempel-Ziv(LZ77)压缩算法压缩 foo,生成 foo.gz。
· gunzip foo.gz 将文件 foo.gz 解压缩生成 foo。
· bzip2 foo 将文件 foo.bz2 解压缩生成 foo。
· tar -xvvf foo.tar 从打包文件 foo.tar 解出文件来。
· tar -xvvzf foo.tar.gz 从打包压缩的文件 foo.tar.gz 中解开文件。
· tar -xvvf --bzip2 foo.tar.bz2 从文件 foo.tar.bz2 解压缩文件。
· tar -cvvf foo.tar bar/ 把目录 bar/的内容打包存放到 foo.tar 存档中。
· tar -cvvzf foo.tar.gz bar/ 把目录 bar/的内容打包并且压缩存放到 foo.tar.gz 存档中。
· tar -cvvf --bzip2 foo.tar.bz2 bar/ 把目录 bar/中的内容打包存放到 foo.tar.bz2 存档里面。
· zcat README.gz | pager 实用默认的分页显示程序 pager 来显示压缩文件 README.gz 中的内容。
· zcat README.gz > foo 使用文件 README.gz 解开后的内容创建一个文件 foo。
· zcat README.gz >> foo 把文件 README.gz 解开后的内容追加到文件 foo 的后面(如果文件不存在的话,就会创建一个)。
· unzip 压缩文件名.zip 解压zip文件
find -name '*.[ch]' | xargs grep -E 'expr' 在当前目录及其子目录下所有.c和.h文件中寻找'expr'. 参见findrepo
find -type f -print0 | xargs -r0 grep -F 'example' 在当前目录及其子目录中的常规文件中查找字符串'example'
find -maxdepth 1 -type f | xargs grep -F 'example' 在当前目录下查找字符串'example'
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done 对每一个找到的文件执行多个命令(使用while循环)
find -type f ! -perm -444 寻找所有不可读的文件(对网站有用)
find -type d ! -perm -111 寻找不可访问的目录(对网站有用)
六 文本操作
· grep -e "pattern" *.html 找到当前目录下面所有以.html 结尾的文件中含有"pattern"的行,并显示它们。
· find -name pattern 用 shell 找到匹配 pattern 的文件名(慢一些)。
· locate -d pattern 用 shell 找到匹配 pattern 的文件名(使用已有的规则的数据库,快一些)。
· wc –l file或 wc -w file 或wc -c file 分别计算文件的行数(line)、单词数(word)和字符数(character),file为待计算的文件名。
· find 搜索文件,如根据文件名搜索:find . -name filename -print。
· sed 是一个基本的查找替换程序。
· awk 用来提取文本文件中的字段。
· cut -b column file 将指定范围内的文件内容输出到标准输出设备(屏幕)上。
· read var 提示用户输入,并将输入内容赋值给变量var。
· sort file.txt 对file.txt文件所有行进行排序。
· uniq 只输出文件中内容不一致的行,如: sort file.txt | uniq。
· tee 将数据输出到标准输出设备(屏幕) 和文件,比如:somecommand | tee outfile。
· head file 打印文本文件开头几行。
· tail file 打印文本文件末尾几行。
· more file 查看 file 的内容
七 作业进程
· top 全屏显示进程信息。输入”q”退出。
· ps aux | pager 用 BSD 风格输出所有正在运行的进程的信息。
· ps -ef | pager 用 system-V 风格来输出所有正在运行的进程的信息。
· ps aux | grep -e "[e]xim4*" 显示 exim4 进程,或者运行 exim 的进程。
· ps axf | pager 用 ASCCI 艺术形式来显示运行所有进程信息。
· kill 1234 杀死进程号为 1234 的进程。
· killall proc 杀掉所有名为 proc 的进程 *
· bg 列出已停止或后台的作业
· fg 将最近的作业带到前台
· fg n 将作业 n 带到前台
八 用户
· adduser 增加用户
· password 修改密码
· su 它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。(貌似ubuntu下是sudo)
· ssh user@host 以 user 用户身份连接到 host
· ssh -p port user@host 在端口 port 以 user 用户身份连接到 host
· ssh-copy-id user@host 将密钥添加到 host 以实现无密码登录
九 其他
· clear 清屏
· pwd 显示当前工作路径。
· whoami 显示当前用户名。
· w 显示当前登陆的用户,可以多用户登陆
· date 显示当前时间。
· cal 显示某年某月的日历。
· echo 显示器上显示一段文字,一般起到一个提示的作用。
· free 查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
· df 显示磁盘占用情况
· du 显示目录空间占用情况
· uptime 显示系统已经运行了多长时间。
· shutdown 安全地关闭或重启Linux系统。(-r now用来重启)
· write 向系统中某一个用户发送信息。
· mesg 设定是否允许其他用户用write命令给自己发送信息。
· wall 对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中
· expr 进行数学运算,如要进行2+3的运算,命令为: expr 2 + 3。
· uname -a 显示内核信息
· cat /etc/issue 显示当前的操作系统信息
· cat /proc/cpuinfo 查看 cpu 信息
· cat /proc/meminfo 查看内存信息
· ping host ping host 并输出结果
· whois domain 获取 domain 的 whois 信息
· dig domain 获取 domain 的 DNS 信息
· echo 输入一行
· printf 输出,可以制定格式,具体看man printf
· env 查看全局变量和环境变量
· printenv 打印全局变量和环境变量
· set 显示本地变量和函数
· echo $PATH 输出环境变量
· /etc/init.d/httpd restart( service httpd restart)重启httpd
十 命令后面加&表示用新的线程!例如firefox &,表示新开线程为firefox,后面可以继续其他的命令。完!
[Linux系统信息查看命令大全:http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/]