获得命令帮助
help 命令
查询内部命令帮助
命令 --help
查看外部命令帮助
man (手册)
man 不加数字 默认使用1 1代表查询linux命令
man 5 文件名 代表查询此文件的格式
Linux目录和文件管理
pwd显示用户当前所在工作目录位置
[root@localhost date]# pwd //显示当前路径
/root/date
[root@localhost date]# cd /bin
[root@localhost bin]# ll /bin
lrwxrwxrwx. 1 root root 7 4月 26 16:44 /bin -> usr/bin
[root@localhost bin]# pwd -P //显示真实路径
/usr/bin
软连接 pwd -P(一定在软连接文件夹中) -P 显示真实路径
cd(change directory)切换目录
格式
cd 目标位置
家目录(宿主目录):
- 用户的配置文件
- 该用户在实际家目录下拥有最高权限
- 家目录就是给普通用户使用
[root@localhost ~]# cd /etc/ //切换到/etc目录
[root@localhost etc]#
[root@localhost etc]# cd //切换到当前用户家目录
[root@localhost ~]#
[root@localhost ~]# cd - //切换到前一次目录
/etc
- cd或者cd~可以切换到当前目录的家目录
- cd .切换到当前目录
- cd..切换到上一层目录
ls (list) 列出目录/文件的详细属性信息
格式
ls [选项] [文件或目录… ]
ls-a:显示所有文件,包括.隐藏文件 ls -t按时间由大到小顺序展示 ls - tr(倒叙展示) ls - s 按大小由小到大展示文件顺序 ls-r 按递归展示文件内容
[root@localhost ~]# ls -d //显示当前目录
.
[root@localhost ~]# ls -dl //查看当前目录的属性信息
dr-xr-x---. 15 root root 4096 4月 27 11:44 .
[root@localhost ~]# ls //显示当前目录下的所有文件(不包含隐藏文件)
anaconda-ks.cfg initial-setup-ks.cfg 模板 图片 下载 桌面
date 公共 视频 文档 音乐
[root@localhost ~]# ls -a //显示当前目录下的所有文件(包含隐藏文件)
. .bash_profile date .local 模板 音乐
.. .bashrc .dbus .tcshrc 视频 桌面
anaconda-ks.cfg .cache .esd_auth .viminfo 图片
.bash_history .config .ICEauthority .Xauthority 文档
.bash_logout .cshrc initial-setup-ks.cfg 公共 下载
[root@localhost ~]# ls -lh //列出长数据串,显示出文件的属性与权限等数据信息,并友好显示文件大小
总用量 8.0K
-rw-------. 1 root root 2.0K 4月 26 16:49 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 4月 27 11:44 date
-rw-r--r--. 1 root root 2.1K 4月 26 16:50 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 4月 26 16:50 公共
drwxr-xr-x. 2 root root 6 4月 26 16:50 模板
drwxr-xr-x. 2 root root 6 4月 26 16:50 视频
drwxr-xr-x. 2 root root 6 4月 26 16:50 图片
drwxr-xr-x. 2 root root 6 4月 26 16:50 文档
drwxr-xr-x. 2 root root 6 4月 26 16:50 下载
drwxr-xr-x. 2 root root 6 4月 26 16:50 音乐
drwxr-xr-x. 2 root root 6 4月 26 16:50 桌面
一般ls与通配符一起使用
通配符
去匹配文件名(包括目录)
| 符号 | 功能 |
|---|---|
| ? | 代表一个字符 |
| * | 代表任意长度字符 |
| {1..10} | {1..10} |
| {a..z} | a b c ...z |
| {A..Z} | A B C .....Z |
| [123] | 包含其中之一就显示,没有也无所谓(此处括号里只表示单个字符) |
| [0-9] | 匹配数字范围(0123456789),表示单个数字 |
| [a-z] | 范围需要注意 (表示从aA、bB到z,不含Z),表示单个字母 |
| [A-Z] | 从A到Z(只含大写)中的任意一个字母 |
| \ | 转义符,表示原来的意思 |
| [[:lower:]] | 小写字母表示 a-z |
| [[:upper:]] | 大写字母表示 A-Z |
| [^zhou] | 匹配列表中的所有字符以外的字符 |
| [[:digit:]] | 任意数字,相当于0-9 |
| *的使用。 |
[root@localhost data]# ls -a * //不显示隐藏文件
1
[root@localhost data]# ls -a //显示隐藏文件
. .. 1
[root@localhost data]# ls * //*不包括.开头的
ls: 无法访问*: 没有那个文件或目录
[root@localhost data]# ls .* //包括了 .. 上层目录
.:
..:
aaa boot dev home lib64 misc net proc run sdb1 sys usr
bin data etc lib media mnt opt root sbin srv tmp var
alias 别名命令
格式
- alias 命令别名 = ’命令‘
- unalias 别名命令 删除别名
- \加别名命令 (显示原始命令)
- 实际项目中需先查看其他人有没有定义别名命令。
[root@localhost ~]# alias cd='ls'
[root@localhost ~]# cd
anaconda-ks.cfg initial-setup-ks.cfg 模板 图片 下载 桌面
date 公共 视频 文档 音乐
[root@localhost ~]# unalias cd
[root@localhost ~]#
- 命令执行顺序:绝对路径下的命令>别名命令>内部命令>hash命令>外部命令。
du (disk usage) 统计目录或文件所占磁盘空间大小的命令
格式
du [选项] [文件或目录… ]
- du-a:查看所有
- du-k:带单位显示
[root@localhost ~]# du --max-depth=1 //统计当前目录大小,只显示到第二级目录
5160 ./.cache
4 ./.dbus
112 ./.config
0 ./桌面
0 ./下载
0 ./模板
0 ./公共
0 ./文档
0 ./音乐
0 ./图片
0 ./视频
308 ./.local
0 ./date
5640 .
- du显示的是文件占磁盘大小,不是文件的实际大小。
- 每个磁盘分块,每块(4K)只能存一个文件,当文件不足4K时,du统计也会按4K计算。
mkdir (make direction) 创建文件夹
格式
mkdir [选项] 目录位置及名称…
[root@localhost data]# mkdir a b c d //创建多个目录
[root@localhost data]# ls
a b c d
[root@localhost date]# mkdir -p aaa/bbb/ccc
[root@localhost date]# tree
.
├── -
├── a
├── aaa
│ └── bbb
│ └── ccc
├── b
├── c
├── d
└── p
9 directories, 0 files
创建链接文件 ln
ln命令格式
- ln 源文件 目标文件:创建硬链接文件
- ln -s 源文件 目标文件:创建软连接文件
[root@localhost data]# ln /data/f1.txt /data/f11.txt //给文件创建硬链接
[root@localhost data]# ls
f1.txt f11.txt
[root@localhost data]# ln /data/f1.txt /boot/f111.txt //不能跨分区创建硬链接
ln: 无法创建硬链接"/boot/f111.txt" => "/data/f1.txt": 无效的跨设备连接
[root@localhost tmp]# ln /tmp/ceshi ceshi01 //不支持给目录创建硬链接
ln: "/tmp/ceshi": 不允许将硬链接指向目录
[root@localhost test]# ln -s file1.txt soft.txt //给文件创建软链接
[root@localhost test]# ls file1.txt soft.txt
cp(copy)备份
格式
- cp [选项]… 源文件 目标 相当改名复制 - cp [选项]... 源文件... 目录 多个源文件只能复制到文件夹
- cp:复制文件夹
- cp-a:复制所有权限
- cp-p:复制部分权限
- cp-f:强制复制,不询问
- cp-r:直接将目录一起复制
[root@localhost data]# cp -r /etc/ /opt/ //复制目录需要加-r
[root@localhost data]# cp -r /etc/ /opt/etc.bak //复制并改名
[root@localhost data]# cp -r /etc/ /opt/etc.bak //复制后变成etc.bak 的子目录 [root@localhost data]# cp -r /etc/ /opt/etc.bak //目录内有相同名称子目录,系统会询问要不要覆盖,cp是别名 加\cp 直接覆盖
mv(move) 移动或改名
格式
mv [选项] … 源文件或目录… 目标文件或目录
- mv:在当前目录使用,是改名的作用,在其他目录是移动的作用
- mv-f:强制移动,不询问
- mv-n:移动,如果以及有,则不移动
- mv-v:显示移动过程
[root@localhost test]# mv bbb aaa //将目录bbb改名为aaa
[root@localhost test]# mv aaa /tmp //将目录aaa移动到/tmp目录下
[root@localhost test]# mv 1.txt 2.txt file01.txt //源文件为多个时目标必须是目录,否则系统会报错 mv:
目标"file02" 不是目录
[root@localhost test]# mv 1.txt 2.txt /tmp/aaa //将多个文件移动到/tmp/aaa目录下
[root@localhost test]# ls /tmp/aaa 1.txt 2.txt
rm(remove)删除
格式
rm [选项] 要删除的文件或目录
- rm:删除
- rm-r(递归)可以删除目录
- rm-f(强制删除)
[root@localhost ~]# rm -rf / //操作十分危险,系统拒绝执行 rm: 在"/" 进行递归操作十分危险 rm: 使用 --no-preserve-root 选项跳过安全模式
[root@localhost ~]# rm -rf /data/* //删除/data/目录下所有文件
[root@localhost test]# rm 1.txt
rm:是否删除普通空文件 "1.txt"?
[root@localhost test]# ls 1.txt 2.txt
[root@localhost test]# rm -f 1.txt //删除前不做询问,强制删除
[root@localhost test]# ls 2.txt
find查找
格式
find [OPTION]... [查找路径] [查找条件] [处理动作]
真正的查找命令 可以全部文件查找,由于量大,所以速度慢可以做到实时查找
条件:size(大小)mtime(时间)type(类型)name(名字)exec(交给后面处理)
[root@localhost ~]# find /opt/r*
/opt/rh
[root@localhost ~]# find /opt/ -size +0b
/opt/
/opt/rh
which 用来查看命令的位置。
格式
which 命令/程序名
[root@localhost ~]# which cd
/usr/bin/cd
七类常见的linux的文件
-
d 目录文件directory
-
b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
-
c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用; 一个字符一个字符读取 /dev/zero (/dev/null)
-
l 符号链接文件link
-
p 管道文件pipe 主要用于进程间通信单向传输, 一个只读、另一个只写 ,其主要作用是解决多个程序同时存取一个文件所造成的错误。
-
s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信。(可以双向)
-
-普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等