zoukankan      html  css  js  c++  java
  • Linux 100个常用指令

    1、ls 列出目录内容。

    文件属性:
    
    -:普通文件
    
    d:目录文件
    
    b:块设备
    
    c:字符设备文件
    
    l:符号连接文件
    
    p:命令管道
    
    s:套接字文件
    
    文件权限:
    
    9位数字,每3位一组
    
    文件硬链接次数
    
    文件所属主(owner)
    
    文件的属组(group)
    
    文件大小(size),单位默认是字节
    
    ls常用选项:
    
    -l:显示文件属性,ls -l=ll
    
    -h:做相应的单位转换显示
    
    -a:显示所有文件
    
    -A:显示.和..以为的所有文件
    
    -d:显示目录自身属性
    
    -i:显示文件的缩影接点号码(index node ,inode)
    
    -r:逆序显示文件列表
    
    -R:递归显示文件

    2、cd 切换目录

    cd:change directory
    
    cd:回到用户的家目录
    
    cd ~username:进入指定用户的家目录
    
    cd - :在当前目录和前一次所在的目录来回切换
    
    cd ..:切换至其父目录

    3、printenv:显示当前环境变量信息

    4、date 时间管理

    date:显示系统时间
    
    clock:显示硬件时间
    
    hwclock -W:把系统时间同步到硬件时间
    
    hwclock -s:把硬件时间同步到系统时间
    
    cal:显示日历

    5、help 命令帮助

    内部命令帮助:help COMMAND
    
    外部命令帮助:man COMMAND
    
    命令手册:manual
    
    whatis COMMAND:显示此命令在man帮助的哪个章节内。
    
    ============================================================
    
    man的操作命令:
    
    空格:向后翻一屏
    
    b:向前翻一屏
    
    ENTER:向后翻一行
    
    k:向前翻一行
    
    ============================================================
    
    关键字查找
    
    /KEYWORD:向后查找关键字
    
    ?KEYWORK:向前查找关键字
    
    n:下一个关键字位置
    
    N:前一个关键字
    
    q:退出man帮助

    6、file 用于查看普通文件和系统文件的类型

    7、mkdir 建立目录

    mkdir:创建目录
    
    rmdir:删除目录
    
    -p:递归创建
    
    -V:显示创建信息

    8、rm 删除文件

    rm:删除文件
    
    -i:交互式删除
    
    -f:暴力删除
    
    -r:递归删除
    
    命令可以组合利用

    9、touch 创建文件

    touch:创建文件
    
    -c:文件存在的时候不在创建
    
    -a:只改变文件的访问时间
    
    -m:只改变文件的修改时间
    
    -t:自己设定文件的时间戳(年月日时分.秒),与a、m配合使用

    10、cp 文件复制

    cp:文件复制,规则:只有最后一个为目标。复制一个文件到一个文件 或者 多个文件
    
    到一个目录!
    
    cp /etc/passwd /tmp/ 复制到目录下并保存原文件名
    
    cp /etc/passwd /tmp/test 看test是文件还是目录,目录:负责到目录内,
    
    文件则替换! ==============================================================
    
    -r:递归复制目录
    
    -i:交互式显示复制
    
    -f:强制复制,覆盖
    
    -p:保留源文件的属性,时间戳
    
    -a:保留源文件的所有属性
    
    -P:复制链接文件时保存为链接(默认是复制链接所指向的文件)
    
    -d:复制时保持链接
    
    -a:归档复制,常用与备份

    11、mv 移动或重命名文件

    mv:移动或重命名文件
    
    mv SRC(源) DEST(目标)
    
    在统一目录下可以利用mv进行重命名: mv abc bcd 或者 mv -t 目标 源

    12、cat 所有使用者,连接并显示文件内的信息

    cat:连接并显示文件的信息,是全部显示文件内的信息
    
    -n:在显示的时候可以显示行号,这个行号只是显示出来,跟文件内容没有 关系
    
    -E:显示每一行的行结束符,所以linux中文本文件的行结束符是$符
    
    -T:可以显示制表符
    
    -v:显示其他的非打印字符
    
    -A:显示所有的符号

    13、more less 分页显示文本文件的内容

    more:more的作用同cat是相同的,只不过这时我们可以通过手动来翻屏,更加方便
    
    ,more:只支持向后翻,翻到最后
    
    就直接退出了
    
    less:显示文件信息,默认不退出显示,q即可退出
    
    空格:向后翻一屏
    
    b:向前翻一屏
    
    ENTER:向后翻一行
    
    k:向前翻一行
    
    关键字查找
    
    /KEYWORD:查找关键字

    14、head、tail 显示文件头 文件尾内容

    head:显示文件的前几行,默认是10行
    
    -NUM:显示前多少行
    
    tail
    
    tail:显示文件的后几行,默认是10行
    
    -NUM:显示后多少行
    
    -f:查看文件尾部,而且不退出,等待显示后续追加的新内容;

    15、cut 用于剪切数据的内容

    cut:用于剪切数据的内容
    
    -d:指定字段分隔符,默认的是空格 cut -d: -f7 空格符 cut -d''
    
    -f:指定要剪切显示的字段
    
    -f 1 表示显示第一个字段 cut -f1
    
    -f 1,3表示显示第一个和第3个字段
    
    -f 1-3表示显示从1到3的字段

    16、sort(将文本文件内容加以排序) 、uniq(检查及删除文本文件中重复出现的行列)、wc(统计文本中行数,字数,文本数)

    sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码
    
    的字符升序来排列的。
    
    -n:安装数值大小从小到大排列
    
    -r:降序排列
    
    -t:指定字段分隔符
    
    -k:从哪个字符开始,就是指定关键字排列
    
    -u:相同的行只显示一次
    
    -f:忽略字符大小写
    
    ================================================================
    
    uniq:报告或者忽悠重复行
    
    -d:只显示重复行
    
    -c:显示某一行的重复次数
    
    ================================================================
    
    wc:文本统计,可以统计文件中一共有多少行数,多少个单词数,多少个字节数 -l:只显示行数 -w:只显示单词数 -c:只显示字节数 -L:显示最长的一行包含多少个字符
    
    17、tr
    
    tr:转换或删除字符
    
    tr [OPTION]...SET1 [SET2]
    
    例如# tr ab AB 把小写ab都换位大写AB
    
    -d:可以实现删除出现在字符集中的所有字符
    
    18、aliase
    
    aliase:定义shell命令的别名
    
    alias CMDALIAS=COMMAND
    
    unalias CMDALIAS是撤销命令别名

    19、权限

    权限: r 、w 、x
    
    文件:
    
    r:可读,可利用类似 cat等命令查看文件内容
    
    w:可写,可以编辑或删除此文件
    
    x:可执行,可以再命令提示符下当做命令提交给内核运行。
    
    目录:
    
    r:可以对此目录执行LS以列出内部的所有文件
    
    w:可以在此目录中创建文件
    
    x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的的详细信息。

    20、useradd 新增用户

    useradd NAME:增加用户
    
    -u UID:指定用户所属主ID
    
    -g GID:指定基本组ID或者组名(此组必须首先存在才能用)
    
    -G GID:定额外组(附加组),可以指定多个,彼此之间用逗号隔开即可(此附加
    
    组必须首先存在才能用)
    
    -c "COMMENT"指定注释信息
    
    -d /path/to/somedirectory指定用户的家目录,不用的时候默认在home下面
    
    建立一个和用户同名的目录。
    
    -s 指定shell,路径最后是etc/shells文件内规定的shell路径。
    
    -M 不给用户创建家目录
    
    -r 创建一个系统用户,共系统调用,并不建立家目录
    
    userdel USERNAME:删除用户
    
    (不加参数时,默认不删除用户的家目录)
    
    -r :删除用户的同时也删除家目录

    21、id 查看当前用户的id信息

    -g USERNAME:查看用户的gid
    
    -u USERNAME:查看用户的uid
    
    -G USERNAME:查看用户的所有组
    
    -un:显示当前用户的用户名
    
    -gn:显示当前用户的组名

    22、finger 查看用户账户信息

    finger USERNAME

    24、usermod 修改用户的账户信息

    usermod:修改账户的属性
    
    usermod [option] USERNAME
    
    -u:修改UID
    
    -g:修改GID
    
    -G:修改附加组
    
    -a -G:增加附加组,不覆盖之前的附加组
    
    -c:修改用户的注释信息
    
    -d:为用户知道新的家目录
    
    -d -m :指定信家目录并移动此前家目录的文件至新的家目录内
    
    -s:修改用户的默认shell
    
    -l:修改用户名
    
    -L:锁定用户账户
    
    -U:解锁账户 

    25、passwd root  用户密码管理 (给root更改密码)

    passwd root
    
    -l:锁定账户
    
    -U:解锁账户
    
    -d:删除用户密码
    
    -n:用户密码最短时间
    
    -x:用户密码最长使用时间
    
    pwck:检查用户账户完整性

    26、groupadd 添加组 groupdel 删除组

    groupadd [option] GROUPNAME
    
    -g :GID指定GID
    
    -r :添加为系统组
    
    groupmod:组属性
    
    groupmod [option] GROUPNAME
    
    -g GID:修改gid
    
    -n NAME:修改组名
    
    gpasswd:修改组密码
    
    gpasswd GROUPNAME

    27、chage:更改用户账户信息

    -d:最后一次修改时间
    
    -E:过期时间
    
    -I:非活动时间
    
    -m:最短期限
    
    -M:最长期限
    
    -W:警告时间

    28、chown 变更文件或目录的拥有者或所属群组

    chown:改变文件属主、属组,只有管理员是也此命令
    
    chown USERNAME file....(只改变目录本身)
    
    -R 递归修改(修改目录及其内部文件的属主)
    
    --reference=/path/to/somefile file... 把file的属主设定为与
    
    somefile的属主一样(不需要指定属主)
    
    chown USERNAME:GRPNAME fiel... 同时改变属主和属组
    
    chown USERNAME,GRPNAME fiel... 同时改变属主和属组
    
    chown :GROUPNAME fiel.... 修改属组

    29、chgrp 变更文件或目录的所属群组

    chgrp GROUPNAME file....(只改变目录本身)
    
    -R 递归修改(修改 目录及其内部文件的属组)
    
    --reference=/path/to/somefile file... 把file的属主设定为与
    
    somefile的属组一样(不需要指定属组)

    30、chmod:修改文件的用户权限

    chmod MODE file...
    
    -R:递归修改
    
    --reference=/path/to/somefile file...
    
    chmod 755 file...
    
    修改某类用户的某些权限
    
    u:属主
    
    g:属组
    
    o:其他
    
    a:所有
    
    chmod 用户类别=MODE fiel..
    
    chmod u=wr,g=w /fiel..
    
    chmod uo=wr /file..
    
    修改某类的用户某位或某些位权限
    
    chmod 用户类别[-/+]MODE fiel..

    31、echo:输出信息

    echo "abc"
    
    echo "字符串" | passwd --stdin USERNAME:利用管道修改用户密码
    
    32、输入、输出重定向
    
    输出重定向:> 覆盖输出(会覆盖原文件内的内容)
    
    : >> 追加输出(不覆盖原文件的内容)
    
    set -C :禁止对已经存在文件使用覆盖重定向
    
    set +c :关闭上述功能
    
    2>:重定向错误输出,不能输出正确信息
    
    2>>:追加方式实现错误输出
    
    &>:重定向标准输出或错误输出至同一个文件。 时覆盖方式
    
    输入重定向:<
    
    <<:此处生成文档
    
    cat << END :输入信息,直至输入END时结束。(EOF或者END代表文档输入结束)
    
    cat >> /tmp/myfile.txt << END

    33、grep:根据模式,搜索文本,并将符合模式的文本行显示出来

    -i 忽略大小写
    
    --colour(color)颜色显示
    
    -v 反向查找,显示没有被模式匹配的行
    
    -O 只显示被模式匹配的字符串

    34、sed:流编辑器,把文本中的某一行读取到内存中进行处理,此内存空间称为模式空间。

    默认不编辑原文件,只对模式空间内的数据进行处理,处理结束后,将没模式空间打印至
    
    屏幕
    
    sed 'AddressCommand' file...
    
    -n :静默模式,不在显示模式空间中的内容
    
    -i :直接修改原文件
    
    -e :(-e SCRIPT -e SCRIPT) 可以同时执行多个脚本
    
    -f /PATH/TO/SED_SCRIPT: sed -f /path/to/sed_script file
    
    :执行脚本文件
    
    -r :使用扩展的正则表达式
    
    d:删除符合条件的行
    
    fg:/etc/inittab 删除1-2行
    
    sed '/root/d' /etc/fastab 删除包含root的行
    
    p:显示符合条件的行。
    
    fg:sed '/^//d' /etc/fastb 删除以/开头的行
    
    sed '/^//p' /etc/fastb 显示以/开通的行
    
    a string:在指定的行后追加新的行,内容为string
    
    i string:在指定的行前面添加新行,内容为string
    
    r FILE :将指定的文件的内容添加至符合条件的行处
    
    w FILE :将地址指定范围内的内容另存至指定的文件中
    
    s/pattern/string/ :查找并替换(默认只替换每行中第一次被pattern匹配
    
    到的字符串) 把pattern匹配的字符换为string
    
    修饰符:g 全局替换 s/pattern/string/g
    
    i 忽略字符大小写 s/pattern/string/i
    
    s///=s###=s@@@ 在找/时就不用转意了。
    
    &:后向引用,引用模式匹配的整个串
    
    ===========================================================================================
    
    fg:sed练习:
    
    1、删除/etc/grub.conf文件中行首的空白符;
    
    sed -r 's/^[[:space:]]+//g' /etc/grub.conf
    
    2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
    
    sed 's/id:3:initdefault/id:5:initdefault/g' /etc/inittab
    
    sed 's@(id:)[0-9](:initedefault)@ @g' /etc/inittab
    
    3、删除/etc/inittab文件中的空白行;
    
    sed '/^$/d' /etc/inittab
    
    4、删除/etc/inittab文件中开头的#号;
    
    sed 's/^#//g' /etc/inittab
    
    5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
    
    sed 's/^#[[:space:]]{1,}//g' /etc/inittab 或者
    
    sed -r 's/^#[[:space:]]+//g' /etc/inittab
    
    6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#
    
    sed -r 's/^[[:space:]]+#//' 1
    
    7、取出一个文件路径的父目录名称;
    
    echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@@g'/.*/开头,[^]指非斜杠,引用左边第一个括号内的内容一次。
    
    echo "/etc/rc.d" | sed -r 's@^/.*/([^/]+)/?@@g'
    
    提取本文件

    35 vim:文本编辑器,全屏、模式化的编辑器

    vim模式:
    
    编辑模式(命令模式):默认
    
    输入模式
    
    末行模式 ------------------------------------------------------------------------------------------
    
    vim模式转换:
    
    1、从编辑模式-->输入模式
    
    i:在当前光标所在字符的前面,转为输入模式
    
    a:在当前光标所在字符的后面,转为输入模式
    
    o:在当前光标所在行的下方新建一行,并转为输入模式
    
    I:在当前光标所在行的行首,转为输入模式
    
    A:在当前光标所在行的行尾,转为输入模式
    
    O:在当前光标所在行的上方新建一行,并转为输入模式
    
    ---------------------------------------------------------------------------------------
    
    2、从输入模式-->编辑模式
    
    键入esc键。
    
    3、末行模式:必须从编辑模式进入末行模式
    
    键入:即可。
    
    4、末行模式-->编辑模式
    
    敲esc键,一次或者多次。 -------------------------------------------------------------
    
    vim退出文件:
    
    1、末行模式下关闭文件
    
    w:保存文件
    
    q:退出
    
    wq:保存并退出
    
    q!:不保存并退出
    
    w!:强制保存
    
    wq=x 保存退出
    
    2、编辑模式下退出
    
    大写ZZ:保存退出
    
    ------------------------------------------------------------------------------------------
    
    vim下移动光标(编辑模式):
    
    1、逐字符移动:
    
    h:向左
    
    l:向右
    
    j:向下
    
    K:向上
    
    #h:移动#(数字)个字符
    
    2、以单词为单位移动
    
    w:移动下一个单词的词首
    
    e:移动到当前单词的词尾或者下一个单词的词尾
    
    b:移动到当前单词的词首或者上一个单词的词首
    
    #w:一次跳#个单词。
    
    3、行内跳转
    
    0:跳到行首(绝对行首)
    
    ^:跳到第一个非空白字符的行首
    
    $:绝对行尾
    
    4、行间跳转
    
    #G:直接跳转至第#行上。
    
    G:直接跳转至最后一行
    
    末行模式下跳转:直接给出行号,回车即可。
    
    -------------------------------------------------------------------------------------------
    
    vim翻屏:
    
    ctrl+f:向下翻一屏
    
    ctrl+b:向上翻一屏
    
    ctrl+d:向下翻半屏
    
    ctrl+u:向上翻半屏
    
    -------------------------------------------------------------------------------------------
    
    vim删除字符:
    
    x:删除光标所在处的单个字符
    
    #x:删除光标所在处及向后的共#个字符
    
    vim删除命令:d
    
    d命令与跳转命令结合使用
    
    d$:删除到行尾。
    
    #d跳转符:删除跳转符指定的#个字符
    
    dd:删除当前光标所在行
    
    #dd:删除包括光标所在行之内的#行
    
    末行模式下可以使用:
    
    startADD,ednADDd
    
    1,10d:删除第一行到第十行
    
    .,100:删除当前行到100行。
    
    .表示当前行
    
    $:最后一行
    
    +#:向下的#行
    
    $-10:倒数第10行
    
    vim删除的内容为保存在缓冲中,最后一次删除的内容可以粘贴。
    
    -------------------------------------------------------------------------------------------
    
    vim粘贴命令:p
    
    p(小写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的下方,如果
    
    复制或删除的内容为非整行,则粘贴至光标所在字符的后面
    
    P(大写):如果删除的或复制的为正行内容,则粘贴至光标所在含行的上方,如果
    
    复制或删除的内容为非整行,则粘贴至光标所在字符的前面
    
    vim复制命令:y
    
    y的用法同d
    
    yy:复制一行
    
    vim先删除内容,再转换为输入模式:c
    
    c的用法同d命令
    
    cc:删除一行,并进入输入模式。
    
    c$:删除到行尾,并进入输入模式
    
    -------------------------------------------------------------------------------------------
    
    vim下撤销编辑操作命令:u
    
    u:撤销上一次操作,连续u命令可以撤销此前的n次操作
    
    #u:直接撤销最近#次编辑操作
    
    -------------------------------------------------------------------------------------------
    
    vim超找替换
    
    /PATTERN:从行首向下查找PATTERN匹配的选项
    
    ?PATTERN:从行尾向上查找PATTERN匹配的选项
    
    vim查找并替换:s
    
    在末行模式下使用s命令
    
    用法与sed一样
    
    ADDR1,ADDR2s@PATTERN@string@gi
    
    g:全局 i:忽略大小写
    
    .,$-1 :当前行到倒数第一行
    
    1,$表示全文
    
    vim下shell交互
    
    :!COMMAND 回车查看,查看完以后再回车,进入vim编辑模式。
    
    -------------------------------------------------------------------------------------------
    
    vim高级话题
    
    1、显示或取消显示行号
    
    :set nu
    
    :set nonu
    
    2、设定忽略或区分大小写
    
    :set ignorecase
    
    :set ic 忽略
    
    :set noic
    
    3、设定自动缩进
    
    :set autoindent
    
    :set ai 缩进
    
    :set noai
    
    4、查找到的文本高亮显示或取消高亮显示
    
    :set hlsearch 高亮显示
    
    :set nohlserch 取消
    
    5、语法高亮
    
    :syntax on 开启
    
    :syntax off 关闭
    
    36、let
    
    let:相当于一个小的计算器
    
    let SUM+=$I ;sum等于sum+I
    
    let I+=1:让I等于I加1
    
    let I++:让I等于I加1
    
    let I-=相当于let I--:I等于I减1
    
    37、locate
    
    locate:查找文件,非实时的、模糊匹配,全系统文件数据库的查找命令
    
    updatedb:手动生成文件数据库,新安装的系统没有数据库的,速度快
    
    38、find
    
    find:实时查找、精确、遍历指定目录中的所有文件完成查找,速度慢、支持众多
    
    查找标准
    
    格式:find 查找路径 查找标准 查找到以后的处理运作
    
    查找路径:默认为当前目录
    
    查找标准:默认为指定路径下的所有文件
    
    处理运作:默认为显示到屏幕
    
    -------------------------------------------------------------------------------------------
    
    匹配标准
    
    -name 'FILENAME':对文件名进行精确匹配
    
    还支持文件名通配符:*:任意长度的任意字符
    
    -iname 'FILENAME':文件名匹配不区分大小写
    
    -regex PATTERN:基于正则表达式进行文件名匹配
    
    -user USERNAME:基于文件所属主进行匹配查找
    
    -group GROUPNAME:基于文件的属组进行查找
    
    -uid UID:基于文件的uid,用户被删了以后id号会保存下来
    
    -gid GID:文件组
    
    -nouser:查找没有属主的文件
    
    -nogroup:查找没有属组的文件
    
    -type :根据文件的类型来查找
    
    f:普通文件
    
    d:目录
    
    p:管道
    
    s:套接字
    
    l:链接
    
    -size:指定文件的大小
    
    [+|-]#K:大于或者小于#k的文件
    
    -------------------------------------------------------------------------------------------
    
    时间戳查找
    
    单位为天
    
    -mtime :修改时间
    
    -atime :访问时间
    
    -ctime:改变时间
    
    支持[+|-]#:
    
    5:五天那一天访问
    
    -5:五天之内
    
    +5:至少五 天之外
    
    单位为分钟
    
    -amin:访问时间
    
    -cmin:修改时间
    
    -tmin:改变时间
    
    文件的权限查找
    
    -perm mode(755):精确查找
    
    fg:find 路径 -pern 755
    
    -perm /mode : 三位匹配一位就可以
    
    -perm -mode:文件权限能完全包含此mode才可以显示
    
    执行动作:
    
    -print:默认的,显示
    
    -ls:类似ls -l的形式显示匹配到的每个文件的详细信息
    
    -ok COMMAND {} ;每个操作需要用户确认 执行命令,必须以;结尾。 {}代表匹配到的文件。
    
    -exec COMMAND {} ;不需要确认,执行命令,必须以;结尾。{}代表
    
    匹配到的文件。

    39、SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主

    添加文件的SUID:chmod u+s FILE
    
    chmod u-s FILE
    
    如果FILE本来原来就有执行权限,则SUID显示为s,否则为大S。
    
    SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属
    
    的基本组
    
    chmod g+s FILE
    
    chmod g-s FILE
    
    fg:一个团队,三个用户:hadoop、hbase、hive,一个开发目录 /tmp/project,要求这三个用户可以同时修改同一个文件。查看、编辑、等权限
    
    三个用户同属一个基本组,并要求基本组具有查看、编辑权限。。
    
    groupadd devdeop
    
    chown -R :develop /tmp/projest
    
    usermod -a -G develop hadoop
    
    chmod g+s /tmp/project
    
    然后就可以进行创建、修改、删除同一个文件了。

    40、sticky:规定在一个公共目录,每个人都可以创建文件、删除自己的文件,但不

    能删除别人的文件。
    
    chmod o+t DIR:对目录增加sticky权限
    
    chmod o-t DIR:去掉目录的sticky权限
    
    chmod 1755 /backup/test 表示文件具有sticky权限

    41、facl:利用文件扩展保持额外的访问权限

    setfacl:设置某文件的控制权限
    
    -m:增加facl
    
    u:设定用户的时候,后面加上u:UID:perm
    
    fg:setfact -m u:UID:rw file
    
    g:设置组
    
    -x:取消facl
    
    getfacl:查看文件的facl权限

    42、whoami:显示当前用户是谁,su半切换的时候显示的是切换之前的那个用户

    43、who:查看当前登录系统的用户以及他所登录的终端

    -r:显示当前运行级别
    
    -H:第一回列表显示各列名称
    
    w:显示比who更详细的信息

    44、last:显示当前系统上的登录日志(/var/log/wtmp文件),包括系统用户和

    重启信息
    
    last -n 数字:只显示最近几次的登录信息

    45、lastb:显示用户错误的登录常识

    lastb -n 数字:只显示最近几次错误的登录信息。

    46、lastlog:显示每个用户最近一次成功登录的信息

    lastlog -u USERNAME:显示指定用户最近一次的登录信息

    47、basename

    显示一个目录的基名 basename /etc/abc/me 直接显示me $0:命令名称或者脚本本身的路径。 basename $0:直接调用脚本本身路径

    48、mail:邮件查看,可以查看邮件,查看以后就会放到用户的家目录内mbox文件夹内。

    -s主题
    
    mail -s "How are you " root
    
    cat /etc/fast | mail -s "How are you " root

    49、hostname:显示当前主机的名称

    hostname 主机名:更改主机名
    
    fg:如当前主机的名字为空,或者(none)或者为(localhost),就将其
    
    改为www
    
    [ -z` hostname` -o `hostname` == "(null)" -o `hostname`
    
    == "localhost" ] && host www.
    
    -z:表示是否为空

    50、RANDOM:0-32768直接的随机数

    echo $RANDOM:生成随机数

    51、ln:创建链接文件

    ln SRC DEST:创建硬链接
    
    -s:创建软连接
    
    -i:显示文件的inode号
    
    -v:显示执行结果
    
    硬件连接:
    
    1、只能对文件创建,不能应用于目录,文件的硬链接次数为2
    
    2、不能夸文件系统
    
    3、创建硬链接会增加文件被连接的次数
    
    符号连接:
    
    1、可应用于目录
    
    2、可以跨文件系统
    
    3、不会增加被连接文件的连接次数
    
    4、其大小为指定的路径所包含的字符个数

    52、du:显示目录下的所有文件的大小

    -s:显示目录大小
    
    -sh:单位换算后显示

    53、df:显示整个磁盘分区的使用情况

    -h:显示空间大小

    54、fdisk:磁盘分区

    fdisk /dev/sda
    
    p:显示当前磁盘上的分区
    
    n:创建一个新的分区
    
    e:扩展分区
    
    p:主分区
    
    d:删除一个分区
    
    w:保存退出
    
    q:不保存退出
    
    t:修改分区类型
    
    l:显示所有支出的分区类型

    55、partprobe:更新分区表,常用于5.x的RedHat|Centos系列 6.x上常使用partx指令

    56、mkfs:创建文件系统

    mkfs -t FSTYPE 指定分区
    
    -t可以实现多种系统的格式化 如mkfs -t ext2 /dev/sda5

    57、mke2fs:专门管理ext系列的文件的命令,不跟任何参数,指的是创建ext2

    -j:指的是创建ext3类型文件系统
    
    -b BLOCK_SIZE:指定块大小,默认为4096;可用取值为1024,2048或 4096
    
    -L LABEL: 指定分区卷标;例如 mke2fs -L MYYY /etc/sda5
    
    -m #:明确指定预留给超级管理员用的快熟百分比 mke2fs -m 3
    
    /dev/sda5
    
    -i #:指定为多少个字节的空间创建一个inode , 默认为8192;这里给出的
    
    数值应该为块大小的2^n被 mke2fs -i 4096 表示4096个字节创建一个inode
    
    -F:强行创建文件系统;
    
    -E:用于指定额外的文件系统属性;
    
    -N#:指定inode个数;

    58、blkid:查询或查看块设备的属性,其中有包含文件系统的信息

    59、e2lable:专门用于查看或定义卷标

    查看卷标 e2label /dev/sda5
    
    设定卷标 e2label 设备文件 卷标 :即实现设定卷标 e2label
    
    /dev/sad6 YYY
    
    (这里的设备文件即/dev/sda5)

    60、tune2fs:调整文件系统的相关属性

    -j:不损坏原有数据,将ext2升级为ext3,但是不能降级
    
    -L LABLE:设定或修改卷标
    
    -m #:调整预留百分比
    
    -r #:预留块数
    
    -o:设置默认挂载选项,其中有一个是acl,acl是一个功能,但需要挂载才能
    
    使用,否则是不能用的
    
    -c #:指定挂在次数达到#次之后进行自检,指定0或-1表示关闭此功能,不自
    
    检;
    
    -i #:可以指定每挂载使用多少天后进行自检:0或-1表示关闭此功能;
    
    -l:显示超级块内容

    61、dumpe2fs:以显示文件系统中超级块信息或文件的属性信息,

    同上面的tun2fs -l 选项类似,都是很重要的命令,
    
    其中也显示超级块的信息,FREE是空闲的意思
    
    -h:表示只显示超级块中的信息

    62、fsck:检查并修复Linux文件系统

    -t TYPE:指定文件系统类型
    
    -a:自动修复

    63、e2fsck:专门用来检查修复ext2或ext3的命令

    -a或-p:自动修复;
    
    -f :强行修复;

    64、mount:挂载文件系统

    mount 设备 挂载点
    
    设备
    
    设备文件:/dev/**
    
    卷标:LABLE=""
    
    UUID:UUID=""
    
    挂载点:挂载点就是个目录
    
    1,此目录没有被其他进程使用;
    
    2,目录的首先存在;
    
    3,目录中原有的文件将会暂时隐藏;
    
    ----------------------------------------------------------------
    
    mount相关参数
    
    -a:表示挂载/etc/fstab文件中指定的所有的文件系统
    
    -n:默认情况下,mount每挂载一个设备,都会把挂载的设备信息保存至
    
    /etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件;
    
    -t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,
    
    mount会调用blkid命令获取对应文件系统的类型;
    
    -r:只读挂载,挂载光盘时常用此选项
    
    -w:读写挂载
    
    -o:指定而外的文件系统挂载选项,即指定文件系统启用的属性
    
    async:表示异步写入
    
    atime:表示更新时间戳
    
    noatime:关闭更新时间
    
    auto:表示这个磁盘设备能被使用-a选项自动挂载
    
    remount:重新挂载当前系统
    
    dev:允许其他磁盘设备
    
    ro:挂载为只读
    
    rw:读写挂载
    
    ower:允许普通用户挂载
    
    sync:同步启用
    
    loop:挂载本地回环设备

    65、umount:卸载

    umount 设备
    
    umount 挂载点
    
    上面两个都可以,卸载时只要指定一个就可以了

    66、free:查看系统上的物理内存和交换内存的使用情况,默认字节

    -m:以M为单位显示
    
    buffers是缓冲 cached是缓存:的目的是重复使用,避免过慢的设备遭

    67、mkswap:创建交换分区

    swapon /dev/sd*:启用交换分区
    
    -a:表示启用/etc/fstab内的所有交换设备
    
    swapoff /edv/** :关闭交换分区

    68、dd:转换和复制文件,复制的是最底层的数据流

    格式:dd if=数据来源 of=数据存储目标 bs=#多大为一个单位 count=# 复制
    
    这样的数据几次
    
    例如dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
    
    可以用来备份MBR
    
    创建回环文件
    
    dd if=/dev/zero of=/var/swapfile bs=1M count=1024这个命令就能
    
    创造出一个大小为1G的镜像文件,而这个镜像文件能够直接mkswap并且启动起来都是
    
    可以的
    
    /dev/zero是泡泡设备,能一直向外吐零

    69、fuser:验证进行正在使用的文件或套接字

    -v:查看某文件上正在使用的进程
    
    -k:把正在访问的进程给kill了
    
    -km:把挂载点上的进程都关闭掉

    70、gzip:压缩,压缩完成后会删除源文件

    -d:解压
    
    -#:1-9个压缩级别,默认为6
    
    gunzip:解压
    
    zcat:不解压的情况,查看文本GZ文件的内容

    71、bzip2

    bzip2 /path/to/somefile
    
    -d:解压
    
    -K:压缩后不删除原文件
    
    bzcat:不解压的情况,查看文本bz2文件的内容

    72、zip:压缩目录,即归档又压缩的工具

    压缩后不删除原文件
    
    unzip:解压

    73、tar:能够实现归档的工具,只归档,不压缩。

    -c:创建归档文件
    
    -f file.tar:操作的归档文件,所以-f后面必须跟参数,后跟.tar
    
    -x:展开归档文件,原归档文件不删除
    
    --xattrs:表示在归档的同时,保留文件的扩展属性信息
    
    -t:不展开归档,查看归档了哪些文件
    
    -zcf:归档并调用gzip压缩
    
    -zxf:调用gzip解压缩并展开归档,-z选项可以省略
    
    -jcf:调用bzip2并归档
    
    -jxf:调用bzip2并展开归档
    
    -Jcf:调用xz
    
    -JXF:调用xz

    74、cpio:制作归档或展开归档文件

    75、read:shell脚本内可以实现交互式的操作

    read -p “提示”
    
    -t:时间限制

    76、mdadm:制作RAID卷的命令 -C:创建RAID

    -l:级别 -n:设备数
    
    -a:自动为其创建设备文件,后跟yes|no
    
    -c:指定chunk大小,默认64k
    
    -x:指定空闲盘格式,提供冗余
    
    -F:监控RAID
    
    -G:增加RAID
    
    -A:装配RAID
    
    -D:显示RAID信息
    
    -S:停止RAID
    
    mdadm -D --scan > /etc/mdadm.conf,将当前RAID信息保存至配置
    
    文件,一便以后进行装配

    77、watch:周期性的执行指定命令,并以全屏方式显示结果

    格式: watch -n # 'COMMAND'
    
    -n #:指定周期,单位为妙,默认2秒
    
    78、逻辑卷 LV
    
    pvcreate:创建
    
    pvmove:挪动数据
    
    pvremove:擦除pv卷
    
    pvdisplay:显示物理卷
    
    pvscan:扫描系统上有几个pv
    
    pvs:查看pv信息 ------------------------------------------------------------------
    
    卷组
    
    vgcreate:创建 -s #:指定pe大小,默认为4m
    
    vgreduce:删除vg
    
    vgmove:移除
    
    vgextend:把一个物理卷加入此卷组
    
    vgs:查看系统上的组卷信息 ------------------------------------------------------------------
    
    逻辑卷:
    
    lvcreate:创建 -L #:指定大小
    
    -n NAME:指定名字
    
    lvreduce:模拟损坏
    
    lvremove:移除lv,后加路径
    
    lvextend:扩展
    
    lvdisplay:查看lv相关信息
    
    lvs:查看lv信息
    
    fg:lvcreate -L 50M -n testlv myvg
    
    -----------------------------------------------------------------------
    
    LVM扩展:先扩展物理卷边界,再扩展逻辑卷
    
    lvextend -L [+]# /PATH/TO/LV :扩展物理边界
    
    resize2fs:扩展逻辑边界
    
    resize2fs /PATH/TO/LV 5G:扩展逻辑边界到5G
    
    resize2fs -p /PATH/TO/LV:有多大扩展到多大
    
    mount -a:挂载/etc/fstab文件内的所有设备
    
    LVM缩减:先缩减逻辑边界resize2fs /PV 3G,再缩减物理卷边界、
    
    1、不能在线缩减,得先卸载 2、确保缩减后的空间大小能储存原来所有文件 3、在缩减之前应该强行检查文件,以确保文件系统处于一致性状态
    
    e2fsck -f:强行检查文件
    
    df -lh:检查利用率
    
    umount
    
    e2fsck -f:强行检查文件
    
    resize2fs /PATH/TO/lV 5G:缩减逻辑卷到5G
    
    lvreduce -L [-]#G /PATH/TO/LV:缩减物理卷边界 

    78、lvcreate:创建快照卷 -s :指定类型为块照 -p r|w:表示指定权限 -n:名字 -L #:指定大小

    79、ping

    ping IP
    
    -c:次数 -w:超时时长,单位为秒

    80、awk:从文件中筛选符合条件的内容

    格式:awk 'PATTERN{ACTION}' file -F:指定分隔符
    
    print $1:显示第一段
    
    print $0:显示一行中的所有字段
    
    print $NF:显示最后一行
    
    awk '空格{print $1,$3}' 第一和第三字段
    
    awk -F: '{print $1,$2}'
    
    fdisk -l 2>/dev/null :把错误信息输入到null内不显示 

    81、ifconfig 显示或设置网络设备。

    ifconfig:查看和配置系统的网络信息 [ethX]:显示某个网卡信息 -a:显示所有的网卡信息
    
    ifconfig ethx IP/MASK :配置网卡地址(子网掩码必须指定)
    
    ifconfig ethx [up|down]:开启或者禁用网卡
    
    配置Ip地址是立即生效,但重启网络服务或重启主机,都失效 

    82、route:查看本机的路由信息 -n:以数字的方式显示主机信息

    route add:添加路由 -host:主机路由 -net:网络路由
    
    格式:route add -net|host DEST gw NEXTHOP
    
    route add default gw NEXTHOP
    
    route del:删除路由 -host -net
    
    route del -net 10.0.0.0/8
    
    route del -net 0.0.0.0
    
    route del default
    
    以上所做的改动重启网络服务或重启主机,都失效。

    83、ip:功能比较强大的网络命令

    ip link:配置网络接口属性
    
    show:显示所有网络接口信息
    
    ip -s link show:查看所有统计信息
    
    ip link set ethx {up|down|arp {on|off}}:设定网络接口的工作属性
    
    ip addr:协议地址
    
    show:网络信息
    
    ip addr add IP dev eth1 添加ip,在ifconfig下看不到的,利用
    
    ip addr show
    
    ip addr add 192.168.0.1/24 dev eth1
    
    ip addr add IP dev eth1 label ethx:x 添加ip以后增加别名,
    
    在ifconfig下可以查看到
    
    ip addr add IP dev eth1
    
    ip addr show dev ethx to 前缀:查看ethx 上的以前缀开头的信息
    
    ip addr flush eth1 to 10/8 :删除eth1上所有的以10开头的ip地址。
    
    ip route:路由
    
    ip route change|replace :修改路由信息
    
    ip route add to 目的网段 dev ethx via IP(下一跳IP)

    84、shutdown 关机命令

    shutdown [-akrhHPfnc] [-t secs] time [warning message]
    
    shutdown:关机的命令 -r now:立即重启 -t sec:几秒之后 -h now:立即关机
    
    85、uname
    
    uname -r:查看系统内核版本
    
    uname -a:系统版本信息
    
    86、lftp
    
    lftp IP:进入ftp服务器 get 下载单个文件到本地
    
    mget 下载多个文件到本地
    
    bye 退出ftp 

    87、rpm:安装rpm包的工具

    rpm安装命令 -i rpm:安装软件 -h:以#显示安装进度 -v:显示安装信息 -vv:显示更详细的安装信息 -ivh:组合使用,常用命令安装软件 --nodeps:忽略依赖关系 --replacepkgs:重新安装、替换原来安装。 -ivh --oldpackage:降级安装 -ivh --force:强制安装,可以实现重装或降级 --test:测试有没有依赖关系 -------------------------------------------------------------------------------------------
    
    rpm查询命令 -q rpm:查询指定包是否安装 -qa:经安装的所有包 -qi:查询指定包的说明信息 -ql:查询指定包安装后生成的目录列表 -qc:查询指定包的配置文件 -qd:查询指定包的帮助文件 -q --scripts:查询指定包内包含的脚本 -qf:查询指定的文件是有哪个rpm包安装 -------------------------------------------------------------------------------------------
    
    rpm软件升级命令 -Uvh:如果装有老版本的,则升级;否则,则安装 -Fvh:如果装有老版本的,则升级;否则,则退出 -Uvh --oldpackage:降级 -------------------------------------------------------------------------------------------
    
    rpm卸载命令 -e:卸载 -e --nodeps:忽略依赖关系卸载 -----------------------------------------------------------------------------------------
    
    rpm校验命令: -V:无输出信息就是正常
    
    rpm数据库重建
    
    rpm --rebuilddb:重建数据库,一定会重新建立。
    
    rpm --initdb:初始化数据库,没有才建立,有就不用建立。 ==========================================================================================
    
    88、yum:安装软件命令,可以自动解决软件包直接的依赖关系。
    
    list:显示yum仓库内的软件
    
    list available:仓库中有但尚未安装的包
    
    list installed:显示已经安装的
    
    list updates :可以的升级 ------------------------------------------------------------------------------------------
    
    yum clean:清楚缓存
    
    yum clean {packages | headers | metadata | dbcache | all}
    
    yum repolist:显示repo列表及简要信息
    
    yum repolist {all|enabled|disabled}
    
    ---------------------------------------------------------------
    
    yum安装软件命令
    
    install:安装软件包 -y install:自动安装
    
    install --nogpgcheck:不做校验 ------------------------------------------------------------------------------------------
    
    yum升级软件命令
    
    yum update :升级
    
    yum update_to:升级到指定版本、 -----------------------------------------------------------------------------------------
    
    yum卸载软件命令
    
    yum remove|erase PACKAGE_NAME
    
    yum info PACEAGE_NAME:查看软件包信息 ------------------------------------------------------------------------------------------
    
    yum 开发组安装命令
    
    groupinstall 组名:安装组中包含的包
    
    groupinfo 组名:显示组包含包信息(如果组名中间有空格,使用”“
    
    grouplist 列出组
    
    groupupdate -------------------------------------------------------------------------------------------
    
    yum 安装本地RPM包命令
    
    yum localinstall rpmfile1 :安装本地包并从yum库内解决依赖关系
    
    yum --nogpgcheck localinstall rpmfile1:不校验安装 

    89、源码程序安装命令

    tar xf ....:解压源码包 ./configure;配置
    
    make:编译
    
    make install:安装

    90、netstat 查看系统信息

    -r:显示路由信息
    
    -rn:以数字的方式显示
    
    -t:显示tcp链接
    
    -u:显示udp链接
    
    -l:显示端口监听状态
    
    -p:显示监听指定套接字的进行的进程号及进程名
    
    -tunlp:常用组合,数字显示tcp、udp的链接情况

    91、ps:查看进程信息

    BSD风格常用选项:
    a:显示所有与终端有关的进程 ?:表示与终端无关
    
    x:显示所有与终端无关的进程
    
    u:显示进行信息
    
    aux:组合使用
    
    SysV风格常用选项: -elF:查看所有进行信息(e:所有进程) -elf:没F详细 -o PROPERTY:指定属性显示

    92、pstree:以树的形式显示ps信息。

    93、pgrep:以grep的风格查看符合某种特性的进程

    94、top:动态显示进程信息

    支持交互,交互命令 M: 根据驻留内存大小进行排序 P:根据CPU使用百分比进行排序 T: 根据累计时间进行排序
    
    l: 是否显示平均负载和启动时间
    
    t: 是否显示进行和CPU状态相关信息
    
    m: 是否显示内存相关信息
    
    c: 是否显示完整的命令行信息
    
    q: 退出top
    
    k: 终止某个进程
    
    常用选项: -d 1 :几秒刷新一次 -b: 批模式显示
    
    -n #:在批模式下,共显示多少批

    95、前台和后台作业

    前台作业:占据了命令提示符
    
    后台作业:启动之后,释放了命令提示符,后续的操作在后台完成
    
    前台-->后台:
    
    ctrl+z键:正在前台的作业送到后台
    
    bg:让后台停止的作业继续运行
    
    bg [%JOBID]:%可以省
    
    fg:将前台的作业送到后台
    
    fg [%JOBID]:%可以省
    
    96、jobs
    
    jobs:查看后天的所有作业

    97、chkconfig:查看服务启动项

    chkconfig--list:查看所有独立服务的启动设定 --list SERVICE_NAME:某个服务的启动设定
    chkconfig --add SERVICE_NAME(脚本名称):增加S链接和K链接
    
    chkconfig --del SERVICE_NAME(脚本名称):删除S链接和K链接
    
    chkconfig --level 24 服务名 off|on:指定在级别24内为on或off。

    98、mktemp:创建临时文件

    mktemp /tmp/file.XX(XX代表系统自动生成的文件)生成临时文件
    
    mktemp -d /tmp/file.xx :生成临时目录

    99、kill 杀死进程

    kill -SIGNAL PID常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM ctrl+c:是信号2,结束

    100、trap命令:可以实现捕捉信号

    trap ‘COMMAND’ 信号列表
    
    fg:trap 'echo "you cannot kill me"' INT
  • 相关阅读:
    Python表达式与生成式
    Python三大器之生成器
    Python三大器之迭代器
    Arrays.asList基本用法
    理解静态绑定与动态绑定
    Comparable 和 Comparator的理解
    @SuppressWarnings 用法
    @SafeVarargs 使用说明
    LeetCode43,一题让你学会高精度算法
    分布式——吞吐量巨强、Hbase的承载者 LSMT
  • 原文地址:https://www.cnblogs.com/ada54410017/p/11170936.html
Copyright © 2011-2022 走看看