美文网首页
Linux常用命令

Linux常用命令

作者: 最爱的Tammy小姐 | 来源:发表于2017-07-31 21:39 被阅读0次

    mkdir

    mkdir hello 在当前目录下创建一个名为/hello的目录

    mkdir -p hello/hi 创建一个名为/hello的目录,并在目录下再创建一个名为/hi的目录

    rm

    -f 强制删除

    -i 在删除前需要确认

    -r 递归删除目录及其内容

    -v 详细显示进行的步骤

    rm -i test.txt              -删除test.txt文件,删除前需要确认

    rm -rf id_photo          -强制删除id_photo目录及其以下包含所有子目录,不提示确认

    rar,tar解压

    rar: unrar e/x file.rar

    tar: tar xvf model.tar.gz

    sort 可针对文本文件的内容,以行为单位来排序。

    -f 忽略大小写

    -n 按照数值大小排序

    -u 排序时去掉重复行

    -r 倒序

    ln 链接文件

    软链接:当前目录为目标目录,ln -s 目标文件所在目录 。在磁盘中不占用内存空间。可以跨越磁盘分区,同时也可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。与windows快捷方式相似。

    硬链接:当前目录为目标目录,ln 目标文件所在目录。将生成完全相同的占用内存的文件。不可以跨越磁盘分区。

    查看计算机配置

    cat /proc/cpuinfo |grep name

    查看内存 free -m

    由结果了解到计算机内存为16G

    查看挂载点的空间使用情况:df -h

    由结果了解到硬盘(/dev/sda1)数量为1,容量为2T。

    查看当前使用的网络端口 netstat

    显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

    查看目录大小:du

    du -a 显示目录以及子目录,文件的大小

    du -s 只显示目录大小

    du -h 为每个数附加一个表示大小单位的字母,如:用M表示二进制 的兆字节。

    du -c 在处理完所有参数后给出所有这些参数的总计

    查看进程状态:ps

    ps -ef 用标准格式显示进程

    ps aux 用BSD格式显示进程

    超级用户su/sudo

    su的用途是让用户暂时改变登入者的身份,变更时要输入所要变更用户的用户名和密码。例如切换到root超级用户,命令为$ su root 然后输入root用户密码即可。

    有时,我们并不想切换用户,只是想临时使用一下root权限,就可以使用sudo命令。如 sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件。

    远程拷贝命令 scp/rsync ssh

    如果机器之间可以相互ping通,就可以使用scp或者rsync -avzP命令进行本地或与远程主机间的文件或目录备份。

    命令格式:

    scp  本地文件的绝对路径/要复制到服务器上的本地文件 登录到远程服务器的用户@远程服务器的ip地址:将本地文件复制到位于远程服务器上的路径

    例如:将本地的face_platform.tar.xz以用户yituadmin复制到ip为10.24.156.12的远程服务器的根目录下:

    scp face_platform.tar.xzyituadmin@10.24.156.12:~/

    可使用rsync -avzP命令代替scp,传输速度更快、更安全、占用带宽更少、权限越灵活。

    ssh:ssh user@host 实现远程登录主机

    ssh -p 2222 user@host SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。

    chmod

    用来修改某个目录或文件的访问权限。

    eg: rw-r--r--

    文件的权限是这样子分配的 读 写 可执行,分别对应的是 r(4)w(2) x(1)。如果没有那一个权限,用 - 代替,然后又分了三个类别的权限。分别是文件所有者有读和写的权限,文件所属组也有读的权限,然后其他用户只有读的权限.

    chmod 777代表 文件所有者,文件所属组,其他用户均具有读,写,可执行的权限。

    chmod 777 文件名 or 目录名/* 赋权限

    chown 

    用来更改某个目录或文件的用户名和用户组的

    chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)

    例1:chown root:root /tmp/tmp1

    就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).

    例2:chown -R root:root /tmp/tmp1

    就是把tmp下的tmp1下的所有文件的属组都改成root和root。

    wc 统计文件的字节数、字数、行数

    wc -l 文件名 查看文件有多少行

    wc -c 文件名 统计字节数

    wc -w 文件名 统计字数

    wget

    wget https://www.baidu.com/

    wget -c https://www.baidu.com/ 当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数。

    wget -i download.txt 如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,

    然后用命令wget -i 这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

    tail

    tail 用于在屏幕上显示指定文件的末尾若干行

    tail -f ./passwd  #参数-f使tail不停地去读最新的内容,因此有实时监视的效果,用Ctrl+c来终止

    tail -n 2 /etc/passwd  #显示最后2行

    tail /etc/passwd  #默认,显示最后10 行

    vi 文本编译器

    :set nu在命令模式下,用于在最左端显示行号;

    :set nonu在命令模式下,用于在最左端不显示行号;

    gg移动光标到文档首行;

    G移动光标到文档尾行;

    /字符串文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

    :s/root/test/g将光标所在行出现的root字符串替换为test

    :%s/root/test/g将当前文件中所有root字符串替换为test

    crontab

    crontab -e 编辑定时任务

    crontab -l 查看定时任务

    m h dom mon dow command

    分 时 日 月 周 执行命令

    实例1:每1分钟执行一次myCommand

    *****myCommand

    实例2:每小时的第3和第15分钟执行

    3,15****myCommand

    实例3:在上午8点到11点的第3和第15分钟执行

    3,158-11***myCommand

    实例4:每隔两天的上午8点到11点的第3和第15分钟执行

    3,158-11*/2**myCommand

    实例5:每周一上午8点到11点的第3和第15分钟执行

    3,158-11**1myCommand

    实例6:每晚的21:30重启smb

    3021***/etc/init.d/smbrestart

    实例7:每月1、10、22日的4 : 45重启smb

    4541,10,22**/etc/init.d/smbrestart

    实例8:每周六、周日的1 : 10重启smb

    101**6,0/etc/init.d/smbrestart

    实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

    0,3018-23***/etc/init.d/smbrestart

    实例10:每星期六的晚上11 : 00 pm重启smb

    023**6/etc/init.d/smbrestart

    实例11:每一小时重启smb

    **/1***/etc/init.d/smbrestart

    实例12:晚上11点到早上7点之间,每隔一小时重启smb

    023-7***/etc/init.d/smbrestart

    重定向和管道符

    我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin 代码0,符号<或<<),通常对应终端的键盘;标准输出文件(stdout 代码1,符号>或>>)和标准错误输出文件(stderr 代码2,符号2>或2>>),这两个文件都对应终端的屏幕。

    重定向:

    输入重定向:是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。

    输出重定向(>):是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。

    追加重定向(>>):与输出重定向的功能非常相似, 区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。

    &&:前面成功,则执行后面一条,否则,不执行

    ||:前面失败,则后一条执行

    ls *.txt && echo suss! || echo failed

    将标准输出和标准错误重定向到同一文件

    ls  proc/*.c > list 2> &l  与 ls proc/*.c&>list等价

    清空文件 :>a.txt

    管道:

    将一个程序或命令的输出作为另一个程序或命令的输入

    cat a.txt | grep "hello"

    xargs

    xargs 能够将输入数据转化为特定命令的命令行参数

    将多行输出转化为单行输出

    cat file.txt | xargs

    将单行转化为多行输出

    cat single.txt | xargs -n 3

    unqi

    消除重复行

    sort unsort.txt | uniq

    统计各行在文件中出现的次数

    sort unsort.txt | uniq-c

    找出重复行

    sort unsort.txt | uniq-d

    find

    找出后缀名为.txt的文件

    find . \( -name "*.txt" \)

    找出后缀名不是.txt的文件

    find . ! -name "*.txt" -print

    指定搜索深度,打印出当前目录的文件(深度为1):

    find.-maxdepth1-typef

    tr

    echo "HELLO WORLD" | tr 'A-Z' 'a-z' 

    hello world

    字符串替换

    cat test.txt| tr 'hello' 'hey '

    用tr压缩字符,可以压缩输入中重复的字符:

    echo "thissss is a text linnnnnnne." | tr -s 'sn'

    this is a text line

    cut

    去除文件的指定列

    cut -f2,4 filename

    去除文件除第三列的所有列

    cut 取的单位:

    -b 以字节为单位

    -c 以字符为单位

    -f 以字段为单位(使用定界符)

    paste

    paste file1 file2

    查看CPU

    sar -u 1 2

    后面的两个参数表示监控的频率,比如例子中的1和2,表示每秒采样一次,总共采样2次;

    查看内存

    free -m

    查看硬盘使用情况

    df -h

    man 命令

    linux内部存储着一部使用手册,权限是所有用户,以供用户在终端查找。

    man  获取指定命令的帮助

    man -f (要查找的命令)等同于whatis 查看命令拥有哪个级别的帮助

    man 命令等级号 要查找的命令

    例如:$ man -f grep 

    grep (1)            - print lines matching a pattern

    $man 1 grep

    即可找到。

    man -k (要查找的命令)等同于apropos命令

    相关文章

      网友评论

          本文标题:Linux常用命令

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