Linux命令行小结

对于刚刚开始使用linux的初学者来说,命令行无疑是必须掌握的技能,极大的方便了对于系统的操作。笔者在使用过程中记录下一些常用操作,总结在这里。由于刚开始使用命令行可能难以记忆,这里给出每个命令的英文全拼。

文件/目录操作

cd–change directory

cd [dirName] 进入dirName目录;
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd – 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/”;”..”为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。

mkdir–make directory

创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
mkdir [OPTION] dir-name

cp–copy

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。
cp [OPTION] 源文件或目录 目标文件或目录

rm–remove

删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
rm [OPTION]… FILE…

mv–move

移动文件或者将文件改名
mv [OPTION] 源文件或目录 目标文件或目录

pwd–print working direcory

打印当前的工作目录
pwd -P:如果当前的工作路径是链接的话,显示链接的原始路径,也就是实际路径。
pwd -L:与pwd -P完全相反,显示链接路径。

ls–list

列出目录下的文件

  • ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
  • ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
  • ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。”@”表示符号链接、”|”表示FIFOS、”/”表示目录、”=”表示套接字。
  • ls -s 在每个文件的后面打印出文件的大小。 size(大小)
  • ls -t 按时间进行文件的排序 Time(时间)
  • ls -A 列出除了”.”和”..”以外的文件。
  • ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
  • ls -L 列出文件的链接名。Link(链接)
  • ls -S 以文件的大小进行排序

输入命令 ls -l t 查看文件 t 的属性,中间是个小写的 L ,其中的字母rwx分别代表读(read)、写(write),还有一个运行x(execute)。

tar

tar [主选项+辅选项] 文件或者目录
主选项
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
辅选项
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
tar -cvf <archive-name.tar> <file1-OR-file2-OR-both-to-archive>
创建对应压缩文件
tar -tvf <archive-to-view.tar>
查看对应压缩文件
tar -xvf <archive-to-extract.tar>
提取对应压缩文件。
tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/
-C 选项提取文件到指定目录(这里是/opt/)。

zip与uzip

zip -r myfile.zip
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件。
zip -r mydata.zip mydata
压缩mydata目录/文件
unzip -o -d /home/sunny myfile.zip
将myfile.zip文件解压到 /home/sunny/。-o:不提示的情况下覆盖文件;-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下。

find

在目录结构中搜索文件,并执行指定的操作。
find ./ -name test
查找名字为test的文件或目录
find /home -name test
在home目录下寻找名字为test的文件或目录
find -type f -name "*.log"
查找所有类型为log的文件

grep–Global Regular Expression Print

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep ‘test’ d
显示所有以d开头的文件中包含 test的行。
grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

less

使用 less 浏览文件。
less [参数] 文件
** 参数 **

  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -N 显示每行的行号
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • /字符串:向下搜索”字符串”的功能
  • ?字符串:向上搜索”字符串”的功能

** less操作 **

  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一行
  • 回车键 滚动一页
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页
    less log2013.log
    查看文件。
    ps -ef |less
    ps查看进程信息并通过less分页显示。
    less log2013.log log2014.log
    浏览多个文件。

head与tail

显示开头或结尾某个数量的文字区块
head -6 readme.txt
显示档案的前 6 行
tail -25 mail.txt
显示档案的后25 行

tree

tree命令以树状图列出文件目录结构。
在ubuntu系统中默认是没有tree这个命令的,使用命令sudo apt-get install tree安装tree命令工具。
tree -d 只显示目录。
tree -L 1只显示第一层目录。

帐号操作

su–super user

变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。

sudo–super user do

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。
sudo -l列出目前的权限。
输入命令sudo su可以将提示符切换到管理员身份,这样就不必每次加上 sudo。
输入 exit 命令返回普通用户。

whoami

who -m的作用和who am i的作用是一样的。
who -q用来显示当前登录用户的个数。
whoami 显示的是有效用户ID。whoami显示的是当前“操作用户”的用户名。

passwd–password

更改使用者的密码。
passwd (选项) (用户名)
** 选项 **

  • -d:删除密码,仅有系统管理者才能使用。
  • -f:强制执行。
  • -k:设置只有在密码过期失效后,方能更新。
  • -l:锁住密码。
  • -s:列出密码的相关信息,仅有系统管理者才能使用。
  • -u:解开已上锁的帐号。

进程管理

ps–process

查看当前进程。

  • ps a 显示现行终端机下的所有程序,包括其他用户的程序。
  • ps -A 显示所有进程。
  • ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
  • ps -aux | less通过cpu和内存使用来过滤进程。
  • ps -axjf或pstree以树形结构显示进程。
  • ps -ef以全格式显示所有进程。
  • ps -ef | grep httpd 检查httpd进程是否存在

kill

中止一个进程。
kill -pid终止ps -ef中列出的pid进程

系统信息相关

top

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。
top每隔5秒显式所有进程的资源占用情况

df–disk free

检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df [选项] [文件]
使用-h选项以KB以上的单位来显示。
使用-a选项查看全部文件系统。

uname

获取电脑和操作系统的相关信息。

网络相关

ping

测试与目标主机的连通性。
ping [参数] [主机名或IP地址]

telnet

用来远程登录。

curl

curl是一个利用URL规则在命令行下工作的文件传输工具。
curl http://www.baidu.com
执行后,http://www.baidu.com 的html就会显示在屏幕上了
curl -o dodo1.jpg http:www.linux.com/dodo1.JPG
以服务器上的名称保存文件到本地。

netstat

用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
netstat 将每隔一秒输出网络信息。
netstat -a列出所有端口。
netstat -at列出所有 tcp 端口。
netstat -au列出所有 udp 端口。
netstat -l只显示监听端口。

    原文作者:黄炎dyn
    原文地址: https://www.jianshu.com/p/1021ea60dba3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞