Linux运维之道(7)——Linux管理类命令

@(Linux)[系统管理]

1. 目录管理类命令


1.1 cd命令

格式:cd [-L|[-P [-e]] [-@]] [dir]

被你忽略的小知识:

  • 在这里科普一个小小的知识点,就是关于cd -为什么可以自由的在当前目录和之前目录相互切换?
    其实,在我们的 Shell 的环境变量当中保存了两个相关的环境变量,即为PWDOLDPWD。顾名思义,我们很容易会想到当我们执行命令时,实际上就是在这个两个环境变量之间切换。我们可以使用echo $PWDecho $OLDPWD或者env命令来查看环境变量信息。

实例演示:

[root@localhost ~]# cd /home/        #切换到home目录
[root@localhost home]# cd -          #返回切换到home前的目录
/root
[root@localhost ~]# cd ../           #切换到上一级目录
[root@localhost /]# cd ~             #切换当前用户的home目录

1.2 pwd命令

pwd - print name of current/working directory

格式:pwd [OPTION]...

实例演示:

[root@rudder home]# pwd       #显示当前目录
/home
[root@web mail]# pwd -P       #目录是软连接,显示实际物理地址
/var/spool/mail
[root@web mail]# pwd -L       #-L显示,逻辑地址
/var/mail

1.3 mkdir命令

mkdir - make directories

格式:mkdir [OPTION]... DIRECTORY...

参数选项:

  • -m, --mode=模式
    设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
  • -p, --parents
    需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
  • -v, --verbose
    每次创建新目录都显示信息

实例演示:

[root@localhost ~]# mkdir aaa           #创建目录
[root@localhost ~]# mkdir -m a=rw bbb   #创建指定属性的目录
[root@localhost ~]# mkdir -p 111/abc    #创建目录,父目录存在,建之

练习测试:

  • (1) 如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b
    mkdir /tmp/x/{y1,y2}/{a,b}

  • (2) 如何创建x_m, y_m, x_n, y_n
    mkdir {x,y}_{m,n}

  • (3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin
    mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}


1.4 rmdir命令

rmdir - remove empty directories

格式:rmdir [OPTION]... DIRECTORY...

参数选项:

  • --ignore-fail-on-non-empty
    忽略仅由目录非空产生的所有错误
  • -p, --parents
    删除指定目录及其上级文件夹,例如"rmdir -p a/b/c"与"rmdir a/b/c a/b a" 基本相同
  • -v, --verbose
    输出处理的目录详情
  • --help
    显示此帮助信息并退出
  • --version
    显示版本信息并退出

实例演示:

[root@localhost ~]# rmdir test            #删除test目录,注意必须是空目录
[root@localhost ~]# rmdir -p a/b/c        #删除指定目录及其上级文件夹

1.5 tree命令

tree - list contents of directories in a tree-like format

格式:tree [OPTION] [PATH]

参数选项:

  • -a
    显示所有文件和目录,全部深度
  • -A
    使用ASNI绘图字符显示树状图而非以ASCII字符组合
  • -C
    在文件和目录清单加上色彩,便于区分各种类型
  • -d
    显示目录名称而非内容,常用选项
  • -D
    列出文件或目录的更改时间
  • -f
    在每个文件或目录之前,显示完整的相对路径名称
  • -F
    在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号
  • -g
    列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码
  • -i
    不以阶梯状列出文件或目录名称
  • -I
    不显示符合范本样式的文件或目录名称
  • -l
    如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录
  • -L level
    指定显示的层级数目,常用选项
  • -n
    不在文件和目录清单加上色彩
  • -N
    直接列出文件和目录名称,包括控制字符
  • -p
    列出权限标示
  • -P
    只显示符合范本样式的文件或目录名称
  • -q
    用"?"号取代控制字符,列出文件和目录名称
  • -s
    列出文件或目录大小
  • -t
    用文件和目录的更改时间排序
  • -u
    列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码
  • -x
    将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目予以排除在寻找范围外

实例演示:

[root@localhost ~]# tree -L 2     #-L n 只显示 n 层目录 (n 为数字)
[root@localhost ~]# tree -t       #-t 用文件和目录的更改时间排序
[root@localhost ~]# tree -r       #-r 以相反次序排列
[root@localhost ~]# tree -F       #-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号
[root@localhost ~]# tree -f       #在每个文件或目录之前,显示完整的相对路径名称
[root@localhost ~]# tree -d       #只显示目录
[root@localhost ~]# tree -a       #显示所有文件和目录

1.6 ls命令

ls - list directory contents

格式:

ls [OPTION]... [DIR]...
显示指定路径下的文件列表

参数选项:

  • -a, --all:
    显示所有文件,包括隐藏文件
  • -l
    长格式显示
  • -h, --human-readable
    单位化显示
  • -d
    显示目录自身的相关属性;通常要与-l一起使用
  • -r, --reverse
    逆序显示
  • -R, --recursive
    递归

实例演示:

[root@localhost dev]# ls -d */
block/  bus/   cpu/   fd/         input/   net/  raw/  snd/
[root@localhost ~]# ll -Z -d /var/www/html/ 
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
[root@localhost ~]# ls -l
总用量 8
drwxr-xr-x 2 root root 4096  4月 27 12:34 bak
drwxr-xr-x 4 tnak tnak 4096  4月 28 14:25 tank

关于本命令更多内容请点击这里

2. 文本文件查看类命令


2.1 more命令

more - file perusal filter for crt viewing

格式:more [options] file...

参数选项:

  • -d
    显示翻页及退出提示

实例演示:

[root@localhost ~]# more test.php             #查看文件
[root@localhost ~]# netstat -tpnl |more       #常用方式,分页显示

关于本命令更多内容请点击这里


2.2 less命令

less - opposite of more

格式:less [OPTIONS...] FILE...

实例演示:

[root@localhost ~]# less test.php          #查看文件
[root@localhost ~]# netstat -tpnl |less    #常用方式,分页显示

2.3 head命令

head - output the first part of files

格式:head [OPTION]... [FILE]...

参数选项:

  • -c, --bytes=[-]K
    指定获取前#字节
  • -n, --lines=[-]K
    指定获取前#行
  • -q, --quiet, --silent
    不显示包含给定文件名的文件头

实例演示:

[root@localhost ~]# head /etc/passwd                      #默认,显示开头前10行
[root@localhost ~]# head -k /etc/passwd                   #显示开头前k行
[root@localhost ~]# head -q -n k file1 file2 file3        #显示多文件开头前k行,并且不显示文件名的文件头
[root@localhost ~]# head -n -k /etc/passwd                #除最后k行外,显示剩余全部内容

2.4 tail命令

tail - output the last part of files

格式:tail [OPTION]... [FILE]...

参数选项:tail [OPTION]... [FILE]...

  • -c #
    指定获取后#字节
  • -n #
    指定获取后#行
  • -f
    跟踪显示文件新追加的内容;

实例演示:

[root@localhost ~]# tail /etc/passwd                     #默认,显示最后10 行。 
[root@localhost ~]# tail -n 2 /etc/passwd                #显示最后2行
[root@localhost ~]# tail -q -n k file1 file2 file3       #显示多文件最后k行,并且不显示文件名的文件头
[root@localhost ~]# tail -n +k /etc/passwd               #从开头第k字节处开始输出。
[root@localhost ~]# tail -f /var/log/messages            #参数-f使tail不停地去读最新的内容,因此有实时监视的效果,用Ctrl+c来终止
[root@localhost ~]# tail -n+10 file.txt | head -1    #显示file.txt的第10行

3. 文件的时间戳管理工具


3.1 touch命令

touch - change file timestamps

被你忽略的小知识:

三个时间戳:

  • access time:访问时间,简写为atime,读取文件内容
  • modify time: 修改时间, mtime,改变文件内容(数据)
  • change time: 改变时间, ctime,元数据发生改变

格式:touch [OPTION]... FILE...

参数选项:

  • -a
    只更改访问时间
  • -d, --date=字符串
    使用指定字符串表示时间替代当前时间
  • -m
    只更改修改时间
  • -r, --reference=文件
    使用指定文件的时间属性替代当前时间
  • -t STAMP
    使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
  • --time=WORD
    使用WORD 指定的时间:access、atime、use 都等于-a选项的效果,而modify、mtime 等于-m 选项的效果
  • --help
    显示此帮助信息并退出
  • --version
    显示版本信息并退出

请注意:-d 和-t 选项可接受不同的时间/日期格式

实例演示:

[root@localhost ~]# touch test.php                    #将test.php的档案时间改为,当前时间,文件不存在建之
[root@localhost ~]# touch -c -t 05061803 test.php     #将档案时间改为,5月6日18点3分
[root@localhost ~]# touch -r abc.php test.php         #将test.php档案改成根abc.php一样

4. 文件管理类命令


4.1 cp命令

cp - copy files and directories

格式:

  • cp [OPTION]... [-T] SOURCE DEST
  • cp [OPTION]... SOURCE... DIRECTORY
  • cp [OPTION]... -t DIRECTORY SOURCE...

参数选项:

  • -i
    交互式
  • -r, -R
    递归复制目录及内部的所有内容;
  • -a
    归档,相当于-dR --preserv=all
  • -d , --no-dereference --preserv=links , --preserv[=ATTR_LIST]
    mode: 权限
    ownership: 属主属组
    timestamp
    links
    xattr
    context
    all
  • -p , --preserv=mode,ownership,timestamp
  • -v , --verbose
  • -f , --force

实例演示:

[root@localhost ~]# cp -p test.rb /home/test   #将test.rb copy到test目录,并且保留原文件的属性
[root@localhost ~]# cp -r Dir/ /home/test      #将Dir目录copy到test目录下
[root@localhost ~]# cp -fr Dir/* /home/test    #将Dir下面的所有文件强制copy到test目录下
[root@localhost ~]# cp test.rb{,.bak}          #备份test.rb,并在尾部加上.bak后缀

关于本命令更多内容请点击这里


4.2 mv命令

mv - move (rename) files

格式:

  • mv [OPTION]... [-T] SOURCE DEST
  • mv [OPTION]... SOURCE... DIRECTORY
  • mv [OPTION]... -t DIRECTORY SOURCE...

参数选项:

  • -i
    交互式
  • -f
    强制

实例演示:

[root@localhost ~]# mv abc abc.php            #将abc移动成abc.php
[root@localhost ~]# mv test.php{,.sh}         #将test.php增加后辍
[root@localhost ~]$ mv -t ./database 1.sql    #将1.sql移动到database目录下
[root@localhost ~]$ mv aaa bbb                #将目录或者文件重命名,如果存在bbb目录,则是将aaa移到bbb目录下

4.3 rm命令

rm - remove files or directories

格式:rm [OPTION]... FILE...

参数选项:

  • -i
    交互式
  • -f
    强制删除
  • -r
    递归

实例演示:

[root@localhost ~]# rm test.php        #删除文件需要确认
[root@localhost ~]# rm -f test.php     #强制删除文件不确认
[root@localhost ~]# rm -rfv ./test     #强制删除当前的test目录,并显示删除的详细过程

5. 系统管理类命令


5.1 shotdown命令

关于本命令更多内容请点击这里


5.2 reboot命令

关于本命令更多内容请点击这里


5.3 poweroff命令

关于本命令更多内容请点击这里


5.4 halt命令

关于本命令更多内容请点击这里


5.5 w命令

关于本命令更多内容请点击这里


5.6 who命令

关于本命令更多内容请点击这里


思维导图

Linux中你不得不知道管理类命令
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,149评论 2 34
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,216评论 9 467
  • 1、Linux上的文件管理命令有哪些以及常用方法shell:shell负责接收用户输入的命令并进行解释,将需要执行...
    乀koala阅读 785评论 0 3
  • Linux指令大全 1.cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help...
    muyang_js的简书阅读 2,833评论 0 12