美文网首页基础知识
linux-基本常用命令

linux-基本常用命令

作者: Suavitygogo | 来源:发表于2017-03-04 16:54 被阅读4次

    查询命令具体介绍:man/info 命令

    计算器:bc  进行加减乘除操作

    时间:date  cal

    Tab键:补全命令或名称

    Ctrl+C:中断

    Ctrl+d:结束,退出 exit

    开关机:

    将数据同步写入硬盘中的指令: sync

    惯用的关机指令: shutdown

    重新开机,关机: reboot, halt, poweroff

    查看某个用户下进程状态:ps -ef | grep aiapp

    在root用户下操作:

    新建用户:useradd

    useradd -d /yaya/  suavity

    useradd -d /home/wenya wenya

    passwd [-d不需要密码]suavity

    pwd: yaya

    删除用户:userdel

    userdel suavity

    新建组:groupadd

    groupadd yaya

    删除组: groupdel

    groupdel yaya

    修改用户信息:usermod

    将suavity用户下的组改为yaya:

    usermod -g yaya suavity

    suavity用户主组是suavity,附加组是yaya,root

    usermod -g suavity -G root,yaya suavity

    修改组信息:groupmod

    将yaya组改名为dj: groupmod -n dj yaya

    当前用户下操作:

    查看当前用户所属的所有组:groups

    切换用户组:newgrp

    将当前用户切换到root用户组:newgrp root

    赋权给普通用户 root权限

    修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

    ## Allow root to run any commands anywhere

    root    ALL=(ALL)   ALL

    suavity ALL=(ALL)   ALL

    属性、权限、

    -rw-r--r--  1    root   root  203373 12月 11 2014 filename

    [ 属性 ]    [连结][拥有者] [群组]  [档案容量] [ 修改日期 ]     [ 檔名 ]

    属性: 读[r]read-4 写[w]write-2 执行[x]execute-1

    -  rw-   r--  r--

    1. - :[文件类型]

    当为[ d ]则是目录,例如上表的第 11 行;

    当为[ - ]则是档案,例如上表的第 5 行;

    若是[ l ]则表示为连结档(link file);

    若是[ b ]则表示为装置文件里面的可供储存的接口设备;

    若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

    2. rw- :[文件所属者对该文件的权限]

    3. r-- :[文件所属组对该文件的权限]

    4. r-- :[其他用户对该文件的权限]

    赋权:user,group,others

    对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。

    chgrp    : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt

    chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt

    同时改变拥有者和所属群组 chown suavity:yaya dj.txt

    chmod :改变档案的属性、SUID【4r+2w+1x=7

    a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。

    b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。

    c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。

    chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。

    umask: 查看预设权限 umask -S

    umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】

    查看磁盘空间:du --help  df --help

    df -h /etc

    du -sm /etc/*

    文件操作:

    目录和文件相关命令:echo 打印/显示  echo $变量名

    1. 转目录:cd ..    到根目录:cd  ~   cd .   cd  -

    2. 显示当前目录: pwd [-P]

    3. 创建目录: mkdir [-m 赋权 711 ] tmp  mkdir [-p 递归创建目录] tmp1/tmp2/tmp3

    4. 删除目录/文件:

    删空目录:rmdir [-p 递归删空目录] tmp1/tmp2/tmp3

    删目录下的所有内容: rm -rf tmpFile

    5. 显示当前目录下的文件:ls -lrt

    6. 复制:cp

    复制目录:cp -a srcD/ destD/

    复制文件:cp -i src dest

    7.移动:mv

    将src1,src2移动到dest目录下:mv src1 src2... dest

    更名/移动:mv src1 dest

    8.更名:rename srcName destName

    9.获取目录名/文件名:dirname [path]/basename [path]

    操作文件:

    cat: 由第一行开始显示档案内容,显示所有,大文件最好不要用这个命令  cat [-AnT] fileName

    tac :  从最后一行开始显示,可以看出 tac 是 cat 的倒着写 tac fileName

    nl : 显示的时候,顺道输出行号  nl [-bnw] fileName  eg: nl -b [t/a] fileName

    more:  一页一页的显示档案内容 more fileName

    空格键 (space):代表向下翻一页;

    Enter :代表向下翻『一行』;

    /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』; n向下继续搜索

    :f :立刻显示出文件名以及目前显示的行数;

    q :代表立刻离开 more ,不再显示该档案内容。

    less 与 more 类似,但是比 more 更好的是,可以往前翻页 less fileName

    空格键 :向下翻动一页;

    [pagedown]:向下翻动一页;

    [pageup] :向上翻动一页;

    /字符串 :向下搜寻『字符串』的功能;

    ?字符串 :向上搜寻『字符串』的功能;

    n :重复前一个搜寻 (与 / 或 ? 有关!)

    N :反向的重复前一个搜寻 (与 / 或 ? 有关!) 向上搜寻

    q :离开 less 这个程序;

    head : 只看头几行  head -n 100 filename(显示100行,文件终止)

    tail : 只看尾巴几行:

    tail-n 100 filename(显示100行,文件终止)

    tail -100f filename(显示100行,文件不终止,实时跟日志)

    head和tail结合使用: head -n 20 filename | tail -n 10 (显示第11行到20行)

    od: 以二进制的方式读取档案内容 od -t c 二进制文件或数据文件

    touch : 建立文件 touch filename

    目录与文件权限操作:

    赋权:user,group,others

    对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。

    chgrp    : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt

    chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt

    同时改变拥有者和所属群组 chown suavity:yaya dj.txt

    chmod :改变档案的属性、SUID【4r+2w+1x=7

    a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。

    b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。

    c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。

    chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。

    umask: 查看预设权限 umask -S

    umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】

    指定某文件不可删除:chattr +i /home/wenya/suavity/yeah.txt  去掉该权限:chattr -i /home/wenya/suavity/yeah.txt

    查看文件类型:file [fileName]

    查看文件属性:lsattr [pathName]

    搜索文件:

    搜索可执行的命令所在路径:which 命令[-a查出所有匹配的文件名,否则只显示第一个] (一般是bin目录下的可执行命令)

    搜索【文件名/目录名】完整的文件或目录所在路径:

    whereis [-bmsu] 文件或目录名 【完整的文件名或目录(可忽略文件名后缀)】

    搜索【文件名/目录名】关键字所属的文件或目录所在路径:

    locate 模糊的文件或目录名 【匹配文件名】【eg: locate passw 会展示所有包含passw关键字的文件和目录】

    搜索:find [路径] [选项] [关键字/参数]

    find /home -user aiapp :搜索/home 下 属于aiapp用户的所有文件

    find / -nouser :搜索不属于任何用户的文件

    find / -name passwd:搜索系统中文件或目录名为passwd的所有路径

    find / -size +1000k:搜索系统中文件大小大于1MB的所有文件【find / -size +8000k -exec ls -l {} \;】

    find / -type f -perm +7000 -print :搜索有sgid/suid/sbit属性的所有文件

    压缩指令:compress/bzip2/bzcat/gzip/zcat/tar

    compress:[*.Z]

    压缩:compress [-c] /home/fileName [ > /aiapp/otherName.Z]

    解压:compress -d fileName.Z

    bzip2/bzcat:[*.bz2]

    压缩:bzip2 [-9] [-c] /home/fileName [ > /aiapp/otherName.bz2]    bizp -z  fileName

    解压:bzip2 -d otherName.bz2   bzcat otherName.bz2

    gzip/zcat:  [*.gz,*.Z]

    压缩:gzip [-9] [-c]  /home/fileName [ > /aiapp/otherName.gz]

    解压:gzip -d otherName.gz   zcat otherName.gz

    tar:[*.tar] [*.tar.gz]

    压缩:tar -cvf dest/filename.tar etc/         不压缩某个目录或文件:tar--exclude etc/passwd-cvf  dest/filename.tar etc/

    tar -zcvf dest/filename.tar.gz etc/

    tar -jcvf dest/filename.bz2 etc/

    解压:tar -xvf   dest/filename.tar           解开某个目录: tar -xvf   dest/filename.tar etc/passwd

    tar -zxvf dest/filename.tar.gz

    tar -jxvf  dest/filename.bz2

    查看:tar -tvf dest/filename.tar

    tar ztvf dest/filename.tar.gz

    tar jtvf  dest/filename.bz2

    其他命令:

    别名:alias [command] 取消:unalias [command]

    查看历史指令: history

    查看当前用户:whoami / who am i

    查看命令类型:type 命令

    设置变量:  myname="wenya"           查看:echo $myname

    通过键盘输入: read 变量名

    [wenya@vm-test-014 ~ 15:58 #19]$read test

    this is a test.

    [wenya@vm-test-014 ~ 16:01 #20]$echo $test

    执行指令(非单引号):`command`    eg:ls -l `locate crontab`

    查看环境变量: env

    查看所有变量: set/declare

    查看PS1特殊符号意义: man bash   然后查找关键字: /PS1

    设定PS1:  PS1='[\u@\H \w \A #\#]\$'

    [wenya@vm-test-014 ~]$ PS1='[\u@\H \w \A #\#]\$'

    [wenya@vm-test-014 ~ 15:43 #13]$

    查看正在执行的shell的pid: echo $$

    查看上一个指令执行返回值:echo $?

    查看支持的语系: locale -a

    定义变量的属性:declare [-aixr] 变量名

    数据流重导向:

    1. 标准输入(stdin) :代码为 0 ,使用 < 或 << ;

    2. 标准输出(stdout):代码为 1 ,使用 > 或 >> ;

    3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

    分别重导向正确和错误信息:

    [wenya@vm-test-014 ~ 17:09 #39]$find /home -name testing > right 2> error

    错误信息丢入垃圾桶:

    [wenya@vm-test-014 ~ 17:14 #43]$find /home -name testing >right 2>/dev/null

    双向重导向: tee [-a] fileName  :

    last | tee -a ~/listing.log | cut -d ' ' -f1 | sort -u

    last | cut -d ' ' -f1 | sort -u | tee -a ~/listing.log | more

    命令执行的判断依据:  ;,&&, ||

    ;按顺序执行指令

    &&前一个指令执行成功再执行后一个指令,否则不执行后一个

    ||前一个指令执行失败再执行后一个指令,否则不执行后一个

    合用:

    command1 && command2 || command3

    管道命令:【|】

    撷取命令:【cut,grep(以行撷取)

    cut:将一段讯息的某一段给『切』出来

    echo $PATH | cut -d ':' -f 3,5

    export | cut -c 10-12

    grep:grep [-acinv] '关键字' 文件名    last | grep -v root       grep -i 'wenya' 0781.log

    grep -in 'w[en]ya' 0781.log  [表示一个字符e或n]

    grep -in '[^a-z]ya' 0781.log  [^a-z表示不包含小写字母]

    排序:sort,uniq,wc

    sort:cat /etc/passwd | sort -t ':' -k 3 -n

    last | cut -d ' ' -f1 | grep -v root | sort -u

    uniq:

    localhost.localdomain-aiquery%last | cut -d ' ' -f1 | grep -v root | sort | uniq -c

    1

    29 aiprod

    401 aiquery

    108 aisec

    1 wtmp

    wc:统计 wc [-l行w字数m字符数]

    localhost.localdomain-aiquery%cat /etc/man.config | wc

    152  765   4940

    行   字数  字符数

    字符转换命令

    tr:转换或删除    last |tr '[a-z]' '[A-Z]'cat /etc/passwd |tr -d ':'

    col:把tab键转换为空格  cat /etc/man.config |col -x| cat -A | more

    expand:自动将 [tab] 转成空格键  grep '^MANPATH' /etc/man.config | head -n 3 |expand -t 6 -|cat -A

    join:处理两个相关的文档(两个档案当中,有 "相同数据" 的那一行,将他加在一起)

    join -t ':' /etc/passwd /etc/shadow

    join -t ':' -1 4/etc/passwd-2 3/etc/group

    paste:将两个文件同行粘贴在一起

    paste/etc/passwd /etc/shadow

    cat /etc/group |paste/etc/passwd /etc/shadow-| head -n 3

    split:分割

    ls -al |split -l 10 -lsroot

    xagrs:参数代换   xargs [0epn] 指令        ???

    test :测试

    id: 查用户的UID/GID

    su [-lcm] [username] :切换用户eg : su - wenya

    sudo [-u [username|#uid]] 指令eg: sudo -u vbird touch /home/wenya/test   sudo mkdir /root/testing

    mail : 邮件

    相关文章

      网友评论

        本文标题:linux-基本常用命令

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