Linux新手生存笔记--第3课Linux常用命令(1)

[复制链接]
  • TA的每日心情
    开心
    2023-12-15 09:13
  • 签到天数: 55 天

    [LV.5]六品通判

    1200

    主题

    1966

    回帖

    13万

    积分

    Administrator

    分子与原子计算公式

    Rank: 9Rank: 9Rank: 9

    积分
    131986

    终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

    QQ
    发表于 2012-7-4 17:14:38 | 显示全部楼层 |阅读模式
    1.目录操作... 1
    2.文件操作... 3
    3.权限操作... 7
    4.时间日期... 9
    5.压缩解压... 9
    6.登录退出及账号... 10
    命令格式:
    CommandName  option(s)  argument(s)
      命令是大小写敏感的.
      命令、选项和参数之间必须用空格格开
      若命令在一行内写不完,可在行尾加\ , 再接着写
      
    1.目录操作
    mkdir [-options] DIRECTORY

    Mkdir = make directories
    建立新目录[对其父目录必须有写权限]
    -p:parent的缩写。自动建立所需路径中不存在的上层目录。递归
    -m:建立指定权限的目录,不适用默认的

    mkdir -p ~/rpm/{BUILD,RPMS }
    #同时建立多个
    mkdir -m 711 newdi

    rmdir [-p] directory


    删除目录
    -p:多层次的空目录删除。由指定目录的最底层开始,逐层尝试删除空目录,当碰到非空目录时便停止删除的动作

    rm –rf dir【需慎重,误删后难以恢复】

    pwd

    pwd = print working directory
    显示当前工作目录,全路径名,第一个/为根目录,最后为当前目录

    pwd -P 显示正确的完整路径,【链接文件】

    cd
    [directory]

    cd = change director
    改变目录
    cd
    用户home目录
    cd ~
    用户home目录
    cd /
    根目录
    cd .   
    当前目录
    cd ..   
    父目录
    cd -
    回到跳转到当前目录的上一个目录
       
    即回到上一个工作空间

    ls [-options] [filelist]




    显示该目录或路径下所包含的文件及目录列表,以及文件的相关信息
    -a用于列出目录中的所有文件,包括文件名以“.”开头的隐藏文件
    -l以长格式列出文件的详细信息:文件的类型、操作权限、链接数、属主名、属组名、字节数以及最近修改时间
    -d显示目录名而不显示其中的文件。查看目录属性,
    仅列出目录本身
    –R递归列出子目录
    -r以逆序显示文件名列表
    -x显示时以字母顺序
    --color用不同颜色区分文件类型
    -A 同a,不含 ./  
    ../

    lsattr [-aR] file/dir


    显示文件隐藏属性
    -a 隐藏文件也显示
    -R 递归


    chattr

    设置文件隐藏属性
    + 增加某个特殊参数,其他原本的不懂
    - 减去
    = 设置一定,仅有后面参数

    A 访问时间不可修改
    S 将数据同步写入磁盘
    a 只能增加数据,不能删除数据,root独有
    c 自动压缩,读取时自动解压,相当于先压缩再存储
    d 执行dump备份是,具有转储功能
    i 让文件不能被删除,改名,设链接,无法写入或新增数据
    j 使用ext3文件系统格式是,使文件在写入时先记录在journal中
    s 文件设置s,它将会从这个硬盘空间完全删除
    u 与s相反,使用u来是这文件,数据内容还存在磁盘中,可还原和删除

    chattr +i filename 禁止删除
    chattr -i filename 取消禁止

    2.文件操作
    查看

    cat [-AEnTv] filename


    将文件内容一次性显示到屏幕
    -A: 相当于-vET的整合参数,列出一些特殊字符[包括tab键和换行]
    -n:显示行号;
    -T:将tab键以:∧I显示出来;
    -E:将结尾的换行符显示出来;
    -v:列出一些看不出来的特殊字符[特殊字符,不包括tab和换行]

    cat file1 file2 > file3可作合并文件用
    cat file1 > file2
    可做复制文件用

    tac

    反序输出,把文件内容反过来显示,文件内容的最后一行先显示,第一行最后显示。
    正好与cat相反

    tail -3 /etc/passwd | tac
    列出三个最新建的使用者帐号

    nl [-bnw] filename

    显示的时候,输出行号
    -b a:表示不论是否为空行,同意列出行号
    -b t:如果有空行,空行不要列出行号【默认的】
    -n  ln:行号在屏幕的最左方显示
    -n  rn:行号在字段的最右方显示,且不加0【同默认】
    -n rz:行号在字段的最右方显示,且加0
    -w:行号字段占用的位数

    od

    以二进制方式读取文件内容

    more filename

    分屏显示文件内容
    f键或:
    进入下一屏。
    b键:
    在文本中前移
    : 向下移动一行
    q键或:退出

    less filename

    浏览文字档案的内容,相对于more,less可以往回卷动
    f/d在文本中前移
    b/u在文本中后移
    : 向下移动一行
    q键:退出

    less可以使用键盘上的上下键来前后翻页。/字符串:向下搜索;
    ?字符串:向上搜索;
    n:重复前一个搜索;
    N:反向重复前一个搜索;

    head [-n] filename

    显示文件前N行,默认前五行

    head -1000 data
    取前1000行

    tail   


    显示文件后10行

    tail –f process
    实时查看文件内容,在监控日志等文件查看时效果非常好

    pg

    分页显示文件内容
    q退出
    向下翻页

    wc [
    -options] [ Filename ]

    统计
    -c 显示字符数
    -l 显示行数
    -L  显示一个文件中的最长行的长度
    -w显示单词数


    cmp [-clsv][-i 字符数目>][--help][第一个文件][第二个文件]

    cmp = compare
    要确定两个文件是否相同

    如果文件相同,则返回值0,不显示消息
    如果文件不同,则返回值1,则显示第一个不同的位置.或者如果发生错误,则给出值2。
    该命令形式通常用在shell步骤中。
          if cmp -s prog.c.bak prog.c
          then
              echo No change
          fi

    diff [options] file1 file2

    两个文件之间的比较,并指出两者的不同

    如果用”-”表示file1或file2,则表示标准输入。
    如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较.同时指出哪个文件只出现在哪个目录中


    增删改

    touch [-acdmt] 文件
    touch [-t] [MMDDhhmm]
    filename

    1.      
    建立一个空文件
    2.      
    将某个文件日期修改为当前日期(mtime与atime)
    参数:
    -a : 仅修改access time。
    -c : 仅修改时间,而不建立文件。
    -d : 后面可以接日期,也可以使用—date=”日期或时间”
    -m : 仅修改mtime。
    -t:后面可以接时间,格式为 [YYMMDDhhmm]
    如果没有输入时间,则默认为当前时间

    cp [-options] src_file dst_file
    cp [-adfilprsu] source dest

    复制文件命令
    -i:在覆盖文件之前提示用户,由用户确认。
    -R或-r:递归复制目录,即复制相应的目录及其所有子
    目录【目录拷贝是使用到】
    -v显示用命令执行过程[fileA -> fileB]
    可拷贝多个文件
    -d
    拷贝时保留链接
    -f 删除已经存在的目录文件而不提示
    -u 若目标文件比源文件旧,更新目标文件
    -p
    此时cp出复制源文件的内容外,还将把其修改时间,访问权限也复制到新文件中。
    -l
    建立硬链接文件,而非复制文件本身
    -a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合不加任何参数,默认文件的拥有者和权。限都会改变,建立时间也不一样
    加-a,所有属性一起复制了

    mv [-options]
    src_file   dst_file
    mv [-fiv] source destination

    mv = Move
    用于对文件进行名称更改或路径迁移
    -f  
    强制执行。直接覆盖已存在的目的文件,不显示覆盖前的询问讯息。
    -i  
    交互执行。当已存在同名的目标文件名时,在覆盖之前给出提示,由用户确认后才予以覆盖

    rm [-options] files
    rm [-fir] files


    删除文件或目录
    -f:强制执行。
    -i:交互执行,在执行删除前提示确认。
    -R:递归的删除目录

    rm –rf file  
    强制删除目录/文件

    ln [-s] src [link name]
    ln souce-file hard-link
    ln -sf source-file soft-link
    s表示软连接,f表示,若有同名文件在,则将它覆盖过去.

    用于对一个已经存在的文件再创建一个新的链接,而不复制文件的内容
    -s:符号链接。不加此选项代表硬连接。
    src:链接所对应的源文件
    Link name:链接文件名。如果是符号链接,也可以是目录名。  

    未加s,硬链接,删除源文件,链接文件还存在,内容还在(硬链接不能为目录创建,只有文件才能创建硬链接)
    加s,软连接,删除源文件,链接文件存在,但是无法链接过去

    iconv [options] [file]

    文件编码转换
    -f 初始编码
    -t 目标编码
    -o out_file  
    输出到目标文件
    -c 从输出中忽略无效字符
    -l 获取已知字符列表


    查找

    whereis [-options] [file]

    显示指令的二进制码、原始码与在线手册说明文件的存放目录.
    whereis命令检索的子目录是固定编写在它的程序中的.

    -b  :只查找二进制文件;
    -m :只查找在线手册manual路径下的文件
    -s :只查找原始码文件
    -u:没有帮助文件的文件

    whereis passwd
    whereis –b svn
    whereis –m cd

    which [-m] command

    寻找“执行文件”
    在环境变量$PATH设置的目录中,搜索某个系统命令的位置,并且返回第一个搜索结果,所以如果你的$PATH设置的不全,那么查找的目录也是有限的

    -a 将所有可能找到的命令均列出,而不仅仅列出第一个找到的命令名称

    which python

    locate [file]

    查询结果相当于find的模糊查询,它其实是“find -name”的另一种写法,但是要快得多,这是因为它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。如系统中无此db,则需要手动创建

    使用的是一个文件名数据库检索
    数据库的建立预设是每星期执行一次
    如系统中无此db,则需要手动创建
    sudo updatedb;


    3.权限操作
    chmod [-options] xyz [filelist]
    u:表示文件所有者
        g:表示同组用户
        o:表示其它用户
        a:表示所有用户
        opt则是代表操作,可以为:
        +:添加某个权限
        -:取消某个权限
        =:赋予给定的权限,并取消原有的权限
        r:可读 4
        w:可写 2
        x:可执行 1

    xyz:权限的十进制表示
    -c:只有在文件权限确实改变时才进行详细说明;
    -f:不打印“权限不能改变”之类的文件错误信息;
    -R:递归改变目录及其内容的权限;
    -v:详细说明权限的变化

    另附:
    设置suid
    $chmod 4741 filename
    设置guid
    $chmod 2741 filename

       chmod [u/g/o/a] [+/-/=] r/w/x
       chmod u=rwx,go=rx file
       chmod u+x file

    umask

    设定文件创建时的缺省模式
    umask显示
    umask xyz设置
    目录最大777即rwx rwx rwx
    文件最大666
    Umask=002   即 - - - - - - -w-
    结果
    目录775
    rwx rwx r-x
          文件664
    rw- rw- r—

    chown [-options] user[:group] filelist

    chown = change owner
    改变文件的所有者,
    用户必须已存在
    即在/etc/passwd中存在

    -R:递归改变目录及其内容的所属用户或用户组
    user表示将要改变的所有者用户名或用户id
    group表示将要改变的所属用户组名或组id

    chown [-R] aUser filename
    chown [-R] auser:userGrp filename

    chgrp groupname filename

    chgrp = change group
    修改文件所属群组,anGrp必须在/etc/group中存在,否则报错
    -R递归改变

    groupadd

    创建用户组

    groupdel [群组名称]

    需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组

    useradd username

    创建用户

    userdel [-r][用户帐号]

    userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件
    -r 删除用户登入目录以及目录中所有文件

    passwd username

    设置密码

    sudo

    使用方式: sudo [-bhHpV][-s ][-u 用户>][指令]
    或 sudo [-klv]

    说明:允许系统管理员分配给普通用户一些合理的“权限”,让他们执行一些只有超级用户或其他特定用户才能完成的任务。经由 sudo
    所执行的命令就好像是 root
    亲自执行,也就是说以系统管理者的身份执行命令

    "super user do"的意思

    -V 显示版本编号
      
    -h
    会显示版本编号及指令的使用方式说明
      
    -l
    显示出自己(执行 sudo
    的使用者)的权限
      
    -v
    因为 sudo
    在第一次执行时或是在 N
    分钟内没有执行(N
    预设为五)会问密码,这个参数是重新做一次确认,如果超过 N
    分钟,也会问密码
      
    -k
    将会强迫使用者在下一次执行 sudo
    时问密码(不论有没有超过 N
    分钟)
      
    -b 将要执行的指令放在背景执行
      
    -p prompt
    可以更改问密码的提示语,其中 %u
    会代换为使用者的帐号名称, %h
    会显示主机名称
      -u username/#uid
    不加此参数,代表要以 root
    的身份执行指令,而加了此参数,可以以 username
    的身份执行指令(#uid
    为该 username
    的使用者号码)
      
    -s
    执行环境变数中的 SHELL
    所指定的 shell
    ,或是 /etc/passwd
    里所指定的 shell
      
    -H
    将环境变数中的 HOME
    (家目录)指定为要变更身份的使用者家目录(如不加
    -u
    参数就是系统管理者 root
    )command
    要以系统管理者身份(或以 -u
    更改为其他人)执行的指令


    4.时间日期
    date

    显示时间日期
    -s年月日
          设置日期
    -s时:分:秒
      设置时间
    系统日期只能由系统管理员设置

    显示
    日期格式化:【注意date与+号之间有空格】
    $date
    +”%Y%m%d %T”
    $date
    +”%Y%m%d %H:%M:%S”
    20110713 16:09:20
    【注意—和+号之前均有空格,否则语法错误】
    date --date=”20101020-1 week”
    +%Y%m%d
    date  --date=”1 days ago”
    +%Y%m%d
    date  --date=”-24 hour”
    +%Y%m%d
    date
    --date=”-12 day”  +%Y%m%d
    date
    +%Y%m%d

    cal [month] [year]

    显示日历[若未输入显示当前月份信息]
    cal年
    显示当前日历
    不能只输入月份,年份是必须的,月份可有可无,无月份输出全年的【只输入一个额,当成年份处理了】

    time [options] COMMAND [arguments]

    time指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。
    Eg. $time ls -l

    5.压缩解压
    tar options dest source

    压缩或解压
    -c产生.tar文件
    -v显示详细信息
    -f指定压缩后文件名
    -z打包同时压缩,压缩后文件 .tar.gz
    -x解压.tar
    -t
    查看压缩包内文件列表
    -C destdir
    解压到其他文件夹
    常用:
    tar –cvf a.tar a
    tar –xvf a.tar
    tar -tvf
    tar –czvf a.tar.gz a
    tar –xzvf a.tar.gz
    tar –czvf davytest.tar.gz -C /home/otheruser

    zip
    [-options] file.zip filename

    压缩文件
    -m压缩后自动删除原文件
    -r递归压缩对应目录下的子目录
    -j忽略子目录内容

    unzip file.zip [-x file2]

    解压file.zip,除了file2文件之外
    unzip –v file.zip查看压缩包内容
    unzip  -t large.zip验证压缩包是否完全
    unzip -j music.zip把子目录压缩文件提到第一级目录中

    gzip

    -d,解压缩:
    $gzip -d xyz.gz
    $gizp –n abc.tar压缩,带参数
    注释:
    -1也可以换成–fast,
    -9也可以用–best代替,-9表示压缩比高,但速度最慢。
    默认的是-6

    6.登录退出及账号
    登录退出

    login

    登录

    su 用户名>

    在不退出登陆的情况下,切换用户账号。
    提示输入密码,密码正确输入后登入新用户,输入exit命令返回前一账号。

    su
    切换至root用户账号,不要轻易这么做
    root用户切换其它用户,不需要输入密码

    $sudo su admin

    〈Ctrl-D〉

    退出

    exit

    退出

    logout

    退出


    账号信息

    who
    w

    显示登录到系统的所有账户信息
    who –u –H
    显示目前登陆到系统的所有用户登陆信息

    whoami

    显示当前用户的有效账号

    who am I

    显示当前用户的登录账号
    显示用户名,登录时间,ip等登录信息

    id -un

    只显示用户名

    uname -n

    识别主机(查看主机名)查看linux系统信息
    参数:
    -a 所有信息
    -r 版本号
    -n 主机名



    hostname

    识别主机(查看主机名)


    邮件消息信息

    mail

    发送e-mail
    未输入username则显示接收的email信息

    wall

    在系统中的所有在线用户的终端上显示信息,主要用于广播系统管理信息。

    write

    若一用户在线,可用write命令发送信息

    talk



    mesg [n/y]

    命令可以决定用户是否接收来自talk, write和wall命令发送的消息,但对root用户的发送的消息不起作用.
    N拒绝y允许
  • TA的每日心情
    慵懒
    2012-8-27 08:35
  • 签到天数: 11 天

    [LV.3]八品县丞

    185

    主题

    77

    回帖

    546

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    546
    发表于 2012-8-17 17:44:23 | 显示全部楼层
    我等着这些东西,我要升级撒
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2012-8-27 08:35
  • 签到天数: 11 天

    [LV.3]八品县丞

    185

    主题

    77

    回帖

    546

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    546
    发表于 2012-8-17 17:44:33 | 显示全部楼层
    我要升级啊啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2012-8-27 08:35
  • 签到天数: 11 天

    [LV.3]八品县丞

    185

    主题

    77

    回帖

    546

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    546
    发表于 2012-8-17 17:44:41 | 显示全部楼层
    我要升级啊啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    107

    回帖

    29

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    29
    发表于 2012-12-2 21:11:26 | 显示全部楼层
    详细说明权限的变化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    89

    回帖

    225

    积分

    禁止发言

    积分
    225
    发表于 2013-1-6 13:41:42 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-3-7 17:04
  • 签到天数: 30 天

    [LV.5]六品通判

    17

    主题

    1667

    回帖

    2112

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2112
    发表于 2013-5-24 23:40:39 | 显示全部楼层
    我要升级啊啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表