Linux命令行小结

作者: 0xCoffee | 来源:发表于2017-01-03 22:19 被阅读106次

    对于刚刚开始使用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只显示监听端口。

    相关文章

      网友评论

        本文标题:Linux命令行小结

        本文链接:https://www.haomeiwen.com/subject/mtsnvttx.html