线上查询命令
man命令
查看命令的帮助,可以按q键退出。(小词典)
例: man ls
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
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
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters
--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
-B, --ignore-backups
do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort
by name; otherwise: sort by ctime, newest first
-C list entries by columns
help命令
查看Linux系统内置命令的帮助
例: man pwd
pwd: pwd [-LP]
Print the name of the current working directory.
Options:
-L print the value of $PWD if it names the current working
directory
-P print the physical directory, without any symbolic links
By default, `pwd' behaves as if `-L' were specified.
Exit Status:
Returns 0 unless an invalid option is given or the current directory
cannot be read.
文件目录基本操作命令
ls命令
查看当前目录的内容及内容属性
例: ls
ls -l 列出文件的详细信息
ls -a 列出目录下所有文件,包括以 . 开头的隐藏文件
ls -s 对每个文件名后输出该文件的大小
[root@localhost home]# ls
mysql
[root@localhost home]# ls -a
. .. mysql
[root@localhost home]# ls -l
总用量 0
drwx------. 2 mysql mysql 62 11月 13 2020 mysql
[root@localhost home]# ls -ls
总用量 0
0 drwx------. 2 mysql mysql 62 11月 13 2020 mysql
[root@localhost home]#
pwd命令
打印工作目录(print working directory)
例: pwd
pwd [OPTION]...
[root@localhost mysql]# pwd
/home/mysql
[root@localhost mysql]# cd /etc/ssh/
[root@localhost ssh]# pwd
/etc/ssh
[root@localhost ssh]#
cd命令
改变当前工作目录
例: cd /etc/sysconfig/
. 当前目录
.. 当前目录的上一级目录
/ 根目录
~ 家目录
- 上一次所在目录
#当前所在目录
[root@localhost c]# pwd
/home/a/b/c
#当前目录的上一级目录
[root@localhost c]# cd ..
[root@localhost b]# pwd
/home/a/b
#当前目录
[root@localhost b]# cd .
[root@localhost b]# pwd
/home/a/b
#去到b目录
[root@localhost b]# cd /home/a
[root@localhost a]# cd -
/home/a/b
#切换到家目录
[root@localhost b]# cd ~
[root@localhost ~]# pwd
/root
#切换到根目录
[root@localhost ~]# cd /
[root@localhost /]# pwd
/
cp命令
复制/拷贝文件或目录
例: cp ./a.txt ./b/a.txt
SYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
#查看当前目录下的文件
[root@localhost a]# ls
a.txt b
#复制当前目录下的a.txt文件到当前目录下的b目录里
[root@localhost a]# cp ./a.txt b/
#查看当前目录下的文件
[root@localhost a]# ls
a.txt b
#切换到b目录
[root@localhost a]# cd b
#查看b目录下的文件
[root@localhost b]# ls
a.txt c
如果要复制多个文件到指定目录中
#查看当前目录下的文件
[root@localhost a]# ls
1.txt 2.txt 3.txt b
#复制1.txt 2.txt 3.txt到b目录里
[root@localhost a]# cp 1.txt 2.txt 3.txt b/
[root@localhost a]# ls
1.txt 2.txt 3.txt b
#切换到b目录
[root@localhost a]# cd b
[root@localhost b]# ls
1.txt 2.txt 3.txt c
[root@localhost b]#
如果要复制目录和目录里所有子目录的内容
#切换到home目录
[root@localhost a]# cd /home
[root@localhost home]# ls
a a.txt
#查看当前所在路径
[root@localhost home]# pwd
/home
#切换到tmp目录
[root@localhost home]# cd /tmp
[root@localhost tmp]# ls
#递归复制home目录下的所有内容到当前目录
[root@localhost tmp]# cp -r /home/* ./
#查看当前目录下的文件
[root@localhost tmp]# ls
a a.txt
[root@localhost tmp]# pwd
/tmp
mv命令
重命名/移动文件或目录,和cp命令操作类似
例: mv a.txt aa.txt
SYNOPSIS
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
重命名文件
[root@localhost tmp]# ls
a a.txt
#将a.txt重命名为aa.txt
[root@localhost tmp]# mv a.txt aa.txt
[root@localhost tmp]# ls
a aa.txt
[root@localhost tmp]#
移动文件
[root@localhost tmp]# ls
a aa.txt
#将aa.txt移动到a目录
[root@localhost tmp]# mv aa.txt a/
#移动后当前目录没有aa.txt文件
[root@localhost tmp]# ls
a
#切换到a目录下
[root@localhost tmp]# cd a/
#找到被移动的aa.txt文件
[root@localhost a]# ls
1.txt 2.txt 3.txt aa.txt b
[root@localhost a]#
rm命令
删除目录或文件
例: rm -rf a.txt
SYNOPSIS
rm [OPTION]... FILE...
-f, --force 强制删除。忽略不存在的文件,不提示确认
-r, -R, --recursive 递归删除目录及其内容
-i 在删除前需要确认
[root@localhost a]# ls
1.txt 2.txt 3.txt aa.txt b
#删除1.txt文件,正常会询问是否删除(y,是;n,否)
[root@localhost a]# rm 1.txt
rm:是否删除普通空文件 "1.txt"?y
[root@localhost a]# ls
2.txt 3.txt aa.txt b
#强制删除2.txt文件,不询问是否删除
[root@localhost a]# rm -f 2.txt
[root@localhost a]# ls
3.txt aa.txt b
#强制递归删除b目录及目录下的所有内容
[root@localhost a]# rm -rf b/
[root@localhost a]# ls
3.txt aa.txt
#如加上-i,需要确认是否删除
[root@localhost a]# rm -rf -i 3.txt
rm:是否删除普通空文件 "3.txt"?y
[root@localhost a]# ls
aa.txt
[root@localhost a]#
mkdir命令
创建目录
例: mkdir b
SYNOPSIS
mkdir [OPTION]... DIRECTORY...
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理,可创建多级目录
#创建名字为zzz的目录
[root@localhost a]# mkdir zzz
[root@localhost a]# ls
aa.txt zzz
#进到zzz目录里
[root@localhost a]# cd zzz
[root@localhost zzz]#
#如果不加-p选项不能创建多级目录
[root@localhost a]# mkdir b/c/d
mkdir: 无法创建目录"b/c/d": 没有那个文件或目录
#添加-p选项可以创建多级目录
[root@localhost a]# mkdir -p b/c/d
[root@localhost a]# ls
aa.txt b
创建指定权限的目录
#创建名字为ddd的目录,且所有人可读可写可执行
[root@localhost a]# mkdir -m777 ddd
[root@localhost a]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月 29 05:47 aa.txt
drwxr-xr-x. 3 root root 15 5月 29 06:36 b
drwxrwxrwx. 2 root root 6 5月 29 06:43 ddd
[root@localhost a]#
rmdir命令
删除目录
例: rmdir b
SYNOPSIS
rmdir [OPTION]... DIRECTORY...
-p, 当子目录被删除后使它也成为空目录的话,则顺便一并删除
#删除名字为ddd的目录
[root@localhost a]# ls
aa.txt b ccc ddd zzz
[root@localhost a]# rmdir ddd/
[root@localhost a]# ls
aa.txt b ccc zzz
#创建一个多级目录
[root@localhost a]# mkdir -p b/c/d/
[root@localhost a]# ls
aa.txt b ccc zzz
#不加-p选项删除,发现b、c目录还在,只是d目录被删除了
[root@localhost a]# rmdir b/c/d/
[root@localhost a]# ls
aa.txt b ccc zzz
[root@localhost a]# cd b/
[root@localhost b]# ls
c
[root@localhost b]# cd c/
[root@localhost c]# ls
[root@localhost c]#
#如添加-p选项,发现所有多级目录都可正常删除
[root@localhost a]# ls
aa.txt b ccc zzz
[root@localhost a]# rmdir -p b/c/
[root@localhost a]# ls
aa.txt ccc zzz
[root@localhost a]#
touch
创建一个空的文件
例: touch aaa.txt
SYNOPSIS
touch [OPTION]... FILE...
-a 只更改访问时间
-d, --date=字符串 使用指定字符串表示时间替代当前时间
-m 只更改修改时间
#创建aaa.txt的文件
[root@localhost a]# touch aaa.txt
[root@localhost a]# ls
aaa.txt
#创建多个文件需要用空格隔开
[root@localhost a]# touch a.txt b.txt c.txt
[root@localhost a]# ls
aaa.txt a.txt b.txt c.txt
[root@localhost a]#
find
文件查找
例: find /tmp -name aaa.txt
SYNOPSIS
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
[root@localhost a]# ls
aaa.txt a.txt b.txt c.txt
[root@localhost a]# pwd
/tmp/a
[root@localhost a]# cd /
#查找tmp目录下名称为aaa.txt的文件
[root@localhost /]# find /tmp -name aaa.txt
/tmp/a/aaa.txt
[root@localhost /]#
查找在tmp目录下以txt结尾的文件
[root@localhost /]# find /tmp -name *.txt
/tmp/a/aaa.txt
/tmp/a/a.txt
/tmp/a/b.txt
/tmp/a/c.txt
[root@localhost /]#
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件内容最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件属性(例如权限等)最后一次修改时间
查找etc目录下,在一周内被改动过的文件
[root@localhost /]# find ./etc -type f -mtime -7
./etc/tuned/active_profile
./etc/tuned/profile_mode
file
显示文件类型
例: file aaa.txt
SYNOPSIS
file [-bchiklLNnprsvz0] [--apple] [--mime-encoding] [--mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles]
file ...
file -C [-m magicfiles]
file [--help]
[root@localhost a]# ls
aaa.txt a.txt b.txt c.txt
#查看aaa.txt的文件格式,因为没有写数据,所以结果为空
[root@localhost a]# file aaa.txt
aaa.txt: empty
#vim编写数据后,再次查看,结果为text文件
[root@localhost a]# vim aaa.txt
[root@localhost a]# file -b aaa.txt
ASCII text
#创建一个目录b,查看文件类型为目录
[root@localhost a]# mkdir b
[root@localhost a]# file b
b: directory
全部由centos7环境执行命令