目录
一.命令的通用格式
命令字 [选项] [参数]
命令字:是整条命令中最关键的一部分,可以唯一确定一条命令,操作命令。
选项:执行功能,有短格式选项:使用“-”符号引导(多个单个字符选项可以组合在一起使用)。长格式选项:使用“--”符号引导(使用单词表示特定的作用)
参数:作为命令字的处理对象,可以是文件名、目录(路径)名或者用户名等内容
二.Linux命令的分类
内部命令 | 外部命令 |
集成于shell解释器程序内部的一些特殊指令,也称为内建 (Bulit-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的文件系统(分区) | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
三.编辑Linux命令行的辅助操作
- Tab键:自动补齐
- 反斜杠“\”:强制换行
- 快捷键 Ctrl+U:清空至行首
- 快捷键 Ctrl+K:清空至行尾
- 快捷键 Ctrl+L:清屏
- 快捷键 Ctrl+C:取消本命令编辑
四.获得命令帮助
- 内部命令help:查看Bash内部命令的帮助信息
- 命令的“--help”选项:适用于大多数外部命令
- 实例(注意格式):
[root@SKT ~]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出UID 及GID 号
-N, --literal 输出未经处理的项目名称 (如不特别处理控制字符)
-o 类似 -l,但不列出有关组的信息
......
SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。
退出状态:
0 正常
1 一般问题 (例如:无法访问子文件夹)
2 严重问题 (例如:无法使用命令行参数)
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告ls 的翻译错误
要获取完整文档,请运行:info coreutils 'ls invocation'
使用man命令阅读手册
- 使用“↑”,“↓”方向键滚动文本
- 使用PgUp和PgDn键翻页
- 按Q或q键推出阅读环境,按“/”键查找内容
- 实例
[root@SKT ~]# man ls
LS(1) General Commands Manual LS(1)
NAME
ls, dir, vdir - 列目录内容
提要
ls [选项] [文件名...]
ls [选项] [文件名...]
POSIX 标准选项: [-CFRacdilqrtu1]
GNU 选项 (短格式):
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time] [--format={long,verbose,com‐
mas,across,vertical,single-column}] [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}]
[--color[={none,auto,always}]] [--help] [--version] [--]
描述( DESCRIPTION )
程序ls先列出非目录的文件项,然后是每一个目录中的“可显示”文件。如果
没有选项之外的参数【译注:即文件名部分为空】出现,缺省为 "." (当前目录)。 选项“ -d
”使得目录与非目录项同样对待。除非“ -a ” 选项出现,文 件名以“.”开始的文件不属“可显示”文件。
以当前目录为准,每一组文件(包括非目录文件项,以及每一内含文件的目录)分 别按文件名比较顺序排序。如果“ -l
”选项存在,每组文件前显示一摘要行: 给出该组文件长度之和(以 512 字节为单位)。
输出是到标准输出( stdout )。除非以“ -C ”选项要求按多列输出,输出
将是一行一个。然而,输出到终端时,单列输出或多列输出是不确定的。可以分别 用选项“ -1 ” 或“ -C ”来强制按单列或多列输出。
五.查看当前工作目录和切换工作目录
- pwd命令用于显示用户当前所在的工作目录位置。
- 工作目录:是用户操作文件或其他子目录的默认位置起点
- 使用pwd命令可以不添加任何选项和参数
- 一般pwd查看的是绝对路径。绝对路径:前面加/(根目录)。相对路径:以当前目录为参照(不加/)
- 实例
[root@SKT ~]# pwd
/root
[root@SKT ~]# cd /etc/
[root@SKT etc]# pwd
/etc
[root@SKT etc]#
- cd命令用于将用户的工作目录更改到其他位置
- cd命令通常使用时需要到目标位置(文件夹路径),作为参数
- cd命令的各种形式
cd | 切换到当前用户的登录账户的家目录 |
cd ~ | |
cd - | 返回上次工作目录(只能在两个路径之间切换) |
cd . | 当前目录 |
cd .. | 返回上一层目录 |
cd ../../ | 返回上上层目录 |
cd / | 返回到根目录 |
[root@rng ~]# cd /mnt
[root@rng mnt]# cd -
/root
[root@rng ~]# cd /
六.显示列表目录内容
- ls -l 显示文件详细信息
[root@SKT ~]# cd /opt/
[root@SKT opt]# ls
demo01.txt demo02.txt rh
[root@SKT opt]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 10月 24 17:21 demo01.txt
-rw-r--r--. 1 root root 0 10月 24 17:21 demo02.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
- ls -a 查看隐藏文件
[root@SKT opt]# ls -a
. .. demo01.txt demo02.txt rh
[root@SKT opt]# ls -al
总用量 0
drwxr-xr-x. 3 root root 52 10月 24 17:21 .
dr-xr-xr-x. 17 root root 224 10月 23 22:14 ..
-rw-r--r--. 1 root root 0 10月 24 17:21 demo01.txt
-rw-r--r--. 1 root root 0 10月 24 17:21 demo02.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
- ls -A 查看隐藏文件,除了·(本目录)和··(上一级目录)
[root@SKT opt]# ls -A
demo01.txt demo02.txt rh
- ls -d 显示本目录的信息(本目录是. )
[root@SKT opt]# ls -d
.
[root@SKT opt]# ls -ld
drwxr-xr-x. 3 root root 52 10月 24 17:21 .
- ls -h 友好形式显示带有单位的信息
[root@SKT opt]# ls -h
demo01.txt demo02.txt rh
[root@SKT opt]# ls -dhl
drwxr-xr-x. 3 root root 52 10月 24 17:21 .
- ls -R 递归显示(如果用子目录,则会把子目录中的文件依次展现
[root@SKT opt]# ls -R
.:
demo01.txt demo02.txt rh
./rh:
[root@SKT opt]#
- ls --color 以颜色区分文件类型
- 黑 色(数据文件)
- 蓝色(目录/文件夹)
- 红色(压缩包)
- 绿色(执行文件/命令文件/脚本)
- 天蓝色(链接文件/快捷文件)
- 黄色(设备文件/磁盘文件)
- “?”:匹配文件名中的一个未知字符
- “*”:匹配文件名中的任意多个字符
[root@DWG opt]# ls
aaa.txt bbb.txt ccc.txt ddd.jpg eee.sh rh
[root@DWG opt]# ls *.txt
aaa.txt bbb.txt ccc.txt
[root@DWG opt]# ls aaa.*
aaa.txt
七.设置别名alias
- 通过别名机制简化常用的,比较长的命令
- 实例(注意单引号和空格)
[root@DWG opt]# ls -lah
总用量 0
drwxr-xr-x. 3 root root 90 10月 24 20:45 .
dr-xr-xr-x. 17 root root 224 10月 24 10:58 ..
-rw-r--r--. 1 root root 0 10月 24 20:45 aaa.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 bbb.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 ccc.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 ddd.jpg
-rw-r--r--. 1 root root 0 10月 24 20:45 eee.sh
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[root@DWG opt]# alias myls='ls -lah'
[root@DWG opt]# myls
总用量 0
drwxr-xr-x. 3 root root 90 10月 24 20:45 .
dr-xr-xr-x. 17 root root 224 10月 24 10:58 ..
-rw-r--r--. 1 root root 0 10月 24 20:45 aaa.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 bbb.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 ccc.txt
-rw-r--r--. 1 root root 0 10月 24 20:45 ddd.jpg
-rw-r--r--. 1 root root 0 10月 24 20:45 eee.sh
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[root@DWG opt]#
八.du命令---统计目录及文件的空间占用情况
- du命令可用于统计指定目录(或文件)所占用磁盘空间的大小
- du -a 【文件或目录】,统计磁盘空间占用时包括所有文件,而不仅仅只统计目录
- du -h 【文件或目录】,以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
- du -s 【文件或目录】,只统计所占用空间的大小,而不是统计每个子目录,文件的大小(-a和-s不可同时使用)
- 实例
[root@DWG ~]# du -sh /opt/
0 /opt/
[root@DWG ~]# du -ah /opt/
0 /opt/rh
0 /opt/aaa.txt
0 /opt/bbb.txt
0 /opt/ccc.txt
0 /opt/ddd.jpg
0 /opt/eee.sh
0 /opt/
九.创建目录和文件
- touch命令,本来用于更新文件的时间标记,但在实际使用中经常用于创建新的测试文件
- 使用文件名作为参数,可以同时创建多个文件
- 创建一个文件和多个不同文件
[root@DWG opt]# cd /opt/
[root@DWG opt]# ls
rh
[root@DWG opt]# touch night.txt
[root@DWG opt]# ls
night.txt rh
[root@DWG opt]# touch day1.txt day2.jpg day3.sh
[root@DWG opt]# ls
day1.txt day2.jpg day3.sh night.txt rh
[root@DWG opt]#
[root@DWG opt]# ls
day1.txt day2.jpg day3.sh night.txt rh
[root@DWG opt]# touch demo{1..10}.txt
[root@DWG opt]# ls
day1.txt day3.sh demo1.txt demo3.txt demo5.txt demo7.txt demo9.txt rh
day2.jpg demo10.txt demo2.txt demo4.txt demo6.txt demo8.txt night.txt
- mkdir命令用于创建新的空目录
- 使用要创建的目录位置作为参数(可有多个)
- 创建空目录(两种方式)
[root@DWG opt]# mkdir share
[root@DWG opt]# ls
day1.txt day2.jpg day3.sh night.txt rh share
[root@DWG share]# mkdir /opt/shop
[root@DWG opt]# ls
day1.txt day2.jpg day3.sh night.txt rh share shop
[root@DWG opt]#
- 创建带有内容的文件(echo和vi编辑器)
[root@DWG share]# echo "hello world" > new.txt
[root@DWG share]# ls
new.txt test
[root@DWG share]# cat new.txt
hello world
[root@DWG share]# vim new01.txt //vi编辑器的用法,请看后续文章
[root@DWG share]# ls
new01.txt new.txt test
[root@DWG share]# cat new01.txt
hello world!
十.创建链接文件---ln命令
- 为文件或目录建立链接文件,类似于Windows系统中的快捷方式
软链接 | 硬链接 | |
删除原始文件后 | 失效 | 任旧可用 |
适用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同文件系统中(不同分区) | 必须与原始文件在同一个文件系统内(同一个Linux分区) |
- 创建硬链接(不能指向目录,可以指向文件)
[root@DWG opt]# ls
day1.txt day2.jpg day3.sh night.txt rh share shop
[root@DWG opt]# ln day1.txt day1_hard.txt
[root@DWG opt]# ls
day1_hard.txt day2.jpg night.txt share
day1.txt day3.sh rh shop
- 创建软链接(既可以指向目录,也可以文件)
[root@DWG opt]# ln -s day1.txt day1_soft.txt
[root@DWG opt]# ls
day1_hard.txt day1.txt day3.sh rh shop
day1_soft.txt day2.jpg night.txt share
[root@DWG opt]#
十一.复制文件或目录---cp命令
- 将需要复制文件或目录(源)重建一份,并保存为新的文件或目录
- 格式:cp 【选项】【源文件或目录】
- 其常用选项 cp -f 【参数】:覆盖目标同名文件或目录是不进行提醒,而是进行直接强制复制
- cp -i 【参数】:覆盖目标同名文件或目录时提醒用户确认
- cp -p 【参数】:负值时保持原文件的权限,属主及时间标记等属性不变
- cp -r 【参数】:复制目录时必须使用此选项,表示递归复制所有文件及子目录
十二.删除文件或目录---rm命令
- rm命令用于删除指定的文件或目录,被删除的文件难以恢复,谨慎使用
- rm -f 【文件名或目录】:删除文件或目录时不进行提醒,而直接强制删除
- rm -i 【文件名或目录】:删除文件或目录,提醒用户
- rm -r 【目录】:删除目录时必须使用此选项,表示递归删除整个目录树
- 实例
[root@DWG opt]# ls
day1_hard.txt day1_soft.txt day1.txt day2.jpg day3.sh night.txt rh share shop
[root@DWG opt]# rm -r share
rm:是否进入目录"share"?
[root@DWG opt]# rm -r share
rm:是否进入目录"share"? y
rm:是否删除目录 "share/test"?y
rm:是否删除普通文件 "share/new.txt"?y
rm:是否删除普通文件 "share/new01.txt"?y
rm:是否删除普通文件 "share/new02.txt"?y
rm:是否删除目录 "share"?y
[root@DWG opt]# ls
day1_hard.txt day1_soft.txt day1.txt day2.jpg day3.sh night.txt rh shop
[root@DWG opt]# rm -rf shop
[root@DWG opt]# ls
day1_hard.txt day1_soft.txt day1.txt day2.jpg day3.sh night.txt rh
十三.移动文件或目录---mv命令
- mv命令用于将指定的文件或目录转移位置
- 若目标文件与源文件位置相同,则相当于为文件或目录改名
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
123 4 aaa.txt httpd-2.4.2 rh
[root@localhost opt]# mv 123 /mnt
[root@localhost opt]# ls
4 aaa.txt httpd-2.4.2 rh
[root@localhost opt]# ls /mnt
123
[root@localhost opt]# ls
4 aaa.txt httpd-2.4.2 rh
[root@localhost opt]# mv 4 3
[root@localhost opt]# ls
3 aaa.txt httpd-2.4.2 rh
[root@localhost opt]#
十四.查找文件和目录---which命令和find命令
- which命令用于查找Linux命令程序并显示所在具体位置(区分内部命令和外部命令)
[root@DWG ~]# which cd
/usr/bin/cd
[root@DWG ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@DWG ~]# which bin
/usr/bin/which: no bin in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@DWG ~]#
- find命令时Linux系统功能强大查找命令,可以根据目标的名称,类型,大小等不同属性查找
- 常用查找条件类型
查找类型 | 关键字 | 说明 |
按名称大小查找 | -name | 根据目标文件的名称进行查找,允许使用“*”,“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”,“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括KB(注意k是小写),MB,GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行文件查找,文件类型包括普通文(f),目录(d),块设备文件(b),字符设备文件(c)等。 块设备是指成块读取数据的设备(如硬盘,内存等),字符设备是指按单个字符读取数据的设备(如键盘,鼠标等)
|
- find命令各个表达式之间使用逻辑运算符“-a”表示而且(and),“-o”表示或者(or)
- 实例
[root@DWG ~]# find /boot -size +1024k -o -name "vmlinuz"
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-693.el7.x86_64
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/initramfs-0-rescue-3e73b5bad57e493a885217eeb4874210.img
/boot/vmlinuz-0-rescue-3e73b5bad57e493a885217eeb4874210
/boot/initrd-plymouth.img
/boot/initramfs-3.10.0-693.el7.x86_64.img
[root@DWG ~]#