提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、Linux基础
1.Linux 下的目录结构
linux 哲学思想之一,一切皆文件。
文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。
linux 中目录是一个树状结构,所有目录都是从根 / 开始。
/ 整个文件系统目录层次结构的根目录
├─ bin > usr/bin
├─ boot 存放引导程序文件,如kernel, grub 。一般是单独分区
├─ dev 存放设备和特殊文件
├─ etc 系统配置文件
├─ home 普通用户家目录
├─ lib > usr/lib 存放32位程序的共享库文件,此目录是链接到 /usr/lib
├─ lib64 > usr/lib64 存放64位程序的共享库文件,此目录是链接到/usr/lib64
├─ media 可移动媒体设备的挂载点
├─ mnt 临时挂载点
├─ opt 用于安装附加软件包
├─ proc 虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)
├─ root root用户的家目录
├─ run 自最后一次启动以来运行中的系统的信息├── sbin > usr/sbin 必要的系统二进制文件(命令),该目录下的文件只有root用户可执行
├─ srv 服务站点数据
├─ sys 设备驱动文件节点
├─ tmp 临时文件,重启后目录中的文件不会被保留
├─ usr 默认软件存放目录
└─ var 可变文件目录(文件内容不断变化),如邮件,日志
2.绝对路径和相对路径
绝对路径:文件或目录的路径是指定其唯一的文件系统位置。绝对路径是完全限定名称,自根目录 / 开始,指定到达且唯一表示单个文件所。遍历的每个自目录。
绝对路径/etc/passwd
相对路径:相对路径与绝对路径一样,也是标识唯一文件,但相对路径仅指定从工作目录到达。
相对路径etc/passwd
改文件所需的路径。
一般大多数使用绝对路径。
3.导航路径
导航路径pwd
在系统中想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。
[root@server ~]# cd /etc/
[root@server etc]# pwd
/etc
[root@server etc]# cd /etc/yum.repos.d/ //绝对路径
[root@server yum.repos.d]# pwd
/etc/yum.repos.d
[root@server yum.repos.d]# cd ..
[root@server etc]# cd yum.repos.d/ //相对路径
[root@server yum.repos.d]# pwd
/etc/yum.repos.d
4.文件和目录管理
ls
列出文件或目录,默认是列出当前目录下的文件和目录常用选项。
-l
长格式显示文件属性。
ls -l
所显示的文件属性。
ll = ls -l
简写。
[root@server /]# ls -l
total 28
lrwxrwxrwx. 1 root root 7 Apr 23 2020 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Dec 15 06:35 boot
drwxr-xr-x. 20 root root 3220 Dec 15 11:11 dev
drwxr-xr-x. 141 root root 8192 Dec 15 11:26 etc
drwxr-xr-x. 3 root root 18 Dec 15 06:30 home
lrwxrwxrwx. 1 root root 7 Apr 23 2020 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Apr 23 2020 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 23 2020 media
drwxr-xr-x. 3 root root 18 Dec 15 06:24 mnt
drwxr-xr-x. 2 root root 6 Apr 23 2020 opt
dr-xr-xr-x. 268 root root 0 Dec 15 11:11 proc
dr-xr-x---. 15 root root 4096 Dec 15 11:11 root
drwxr-xr-x. 41 root root 1200 Dec 15 11:13 run
lrwxrwxrwx. 1 root root 8 Apr 23 2020 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 23 2020 srv
dr-xr-xr-x. 13 root root 0 Dec 15 11:11 sys
drwxrwxrwt. 20 root root 4096 Dec 15 11:26 tmp
drwxr-xr-x. 12 root root 144 Dec 15 06:21 usr
drwxr-xr-x. 21 root root 4096 Dec 15 06:35 var
- 1.文件类型 -普通文件 d目录 l链接文件。
- 2.权限位,三位一组,共三组,分别是文件的属主、属组、others的权限。
- 3.文件硬链接次数。
- 4.属主。
- 5.属组。
- 6.文件大小。
- 7.最后一次被修改的时间。
- 8.文件名。
-a
显示所有文件,包括当前目录和上级目录
[root@server /]# ls -a
. bin date etc lib media opt root sbin sys usr
.. boot dev home lib64 mnt proc run srv tmp var
-A
显示所有文件
[root@server /]# ls -A
bin date etc lib media opt root sbin sys usr boot dev home lib64 mnt proc run srv tmp var
-R
递归显示,可以查看每个文件夹下的所有文件
[root@server ~]# ls -R
.:
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates Desktop Downloads Music Public Videos
./Desktop:
./Documents:
./Downloads:
./Music:
./Pictures:
./Public:
./Templates:
./Videos:
-h
以K,M,G单位显示文件大小
[root@server ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2658 Dec 15 06:30 /etc/passwd
[root@server ~]# ls -lh /etc/passwd
-rw-r--r--. 1 root root 2.6K Dec 15 06:30 /etc/passwd
-H
显示符号链接文件本身的属性
[root@server ~]# touch 123.txt
[root@server ~]# ln -s 123.txt 111 //给123.txt创建一个软链接
[root@server ~]# ls -l 111
lrwxrwxrwx. 1 root root 7 Jan 3 10:02 111 -> 123.txt
[root@server ~]# ls -l -H 111
-rw-r--r--. 1 root root 0 Jan 3 10:02 111
-d
显示目录自身属性
[root@server ~]# ls -l /root/ //查看当前目录下所有文件及文件夹属性
total 8
lrwxrwxrwx. 1 root root 7 Jan 3 10:02 111 -> 123.txt
-rw-r--r--. 1 root root 0 Jan 3 10:02 123.txt
-rw-------. 1 root root 1401 Jan 2 14:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Desktop
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Documents
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Downloads
-rw-r--r--. 1 root root 1556 Jan 2 14:15 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Music
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Pictures
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Public
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Templates
drwxr-xr-x. 2 root root 6 Jan 2 14:16 Videos
[root@server ~]# ls -l -d /root/
dr-xr-x---. 15 root root 4096 Jan 3 10:02 /root/
5.file
查看文件类型
[root@server ~]# echo "123456" > 123.txt
[root@server ~]# file 123.txt
123.txt: ASCII text
[root@server ~]# cd /
[root@server /]# file etc
etc: directory
6.cd
切换目录
cd ~
切换到当前用户的家目录中
cd -
切换到上一次所在的目录
[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# pwd //查看当前所在目录
/etc/yum.repos.d
[root@server yum.repos.d]# cd ~
[root@server ~]# pwd
/root
[root@server ~]# cd /home/user/
[root@server user]# pwd
/home/user
[root@server Desktop]# cd -
/home
7.相对路径和绝对路径
相对路径:不以"/“开始,以当前路径作为参照
. 表示当前目录
… 表示当前目录的上一级目录
绝对路径:所有以”/"开始的路径都是绝对路径
[root@server ~]# cd /home/user/
[root@server user]# cd ..
[root@server home]# cd /
[root@server /]#
8.基础文件管理
8.mkdir
创建目录
-p
递归创建
-v
显示创建过程
{}
展开花括号中的内容(同时创建{}里的文件夹)
[root@server ~]# mkdir -p /server/{file1,file2}
[root@server ~]# cd /server/
[root@server server]# ls
file1 file2
[root@server server]# cd
[root@server ~]# mkdir -p /a/b/c/123 [绝对路径]
[root@server ~]# cd /
[root@server /]# cd a
[root@server a]# cd b
[root@server b]# cd c
[root@server c]# ls
123
[root@server c]# pwd
/a/b/c
[root@server c]# cd /home/user
[root@server user]# mkdir usecp/file -p [相对路径]
[root@server user]# cd usecp/
[root@server usecp]# ls
file
[root@server usecp]# cd ..
[root@server home]# mkdir usecp/test{1,2,3} -p
[root@server home]# cd usecp/
[root@server usecp]# ls
file test1 test2 test3
9.touch
创建文件
[root@server usecp]# cd /home/user/
[root@server user]# touch 1.txt
[root@server user]# ls
1.txt Documents Music Public usecp
Desktop Downloads Pictures Templates Videos
10.mv
移动文件或目录
mv 源文件 目标
[root@server user]# mkdir usemv
[root@server user]# mkdir source
[root@server user]# cd usemv/
[root@server usemv]# mkdir destination
[root@server usemv]# mkdir source
[root@server usemv]# cd source/
[root@server source]# touch 123.txt
[root@server source]# cd /home/user/usemv/
[root@server usemv]# ls -R
.:
destination source
./destination:
./source:
123.txt
[root@server usemv]# mv source/123.txt destination/
[root@server usemv]# ls -R
.:
destination source
./destination:
123.txt
./source:
[root@server usemv]#
如何将多个目录mv到一个目录中?
[root@server usemv]# su user
[user@server usemv]$ cd
[user@server ~]$ mkdir usemkdir
[user@server ~]$ cd usemkdir/
[user@server usemkdir]$ mkdir a1x a2x a3x
[user@server usemkdir]$ touch b1 b2 b3
[user@server usemkdir]$ ls
a1x a2x a3x b1 b2 b3
[user@server usemkdir]$ mv b1 b2 b3 -t a1x //-t后面必须紧跟mv后的目录
或
[user@server usemkdir]$ mv -t a1x b1 b2 b3
[user@server usemkdir]$ ls
a1x a2x a3x
[user@server usemkdir]$ cd a1x/
[user@server a1x]$ ls
b1 b2 b3
[user@server a1x]$ mv ./* .. //将当前目录中的所有文件mv的上级目录
[user@server a1x]$ ls
[user@server a1x]$ cd ..
[user@server usemkdir]$ ls
a1x a2x a3x b1 b2 b3
[root@server usemkdir]$
11cp
拷贝文件
[user@server usemkdir]$ su root
Password:
[root@server usemkdir]# cd /home/user/usemv
[root@server usemv]# ls -R
.:
destination source
./destination:
123.txt
./source:
[root@server usemv]# cp -a destination/123.txt source/
[root@server usemv]# ls -R
.:
destination source
./destination:
123.txt
./source:
123.txt
[root@server usemv]#cp destination/123.txt source/456.txt //把123.txt复制到目标文件夹下以后,并修改文件名为456.txt
[root@server usemv]# ls -R
.:
destination source
./destination:
123.txt
./source:
123.txt 456.txt
[root@server usemv]#
[root@server user]# ls
1.txt Downloads Public usecp Videos
Desktop Music source usemkdir
Documents Pictures Templates usemv
[root@server user]# cp usemv/ usecp/
cp: -r not specified; omitting directory 'usemv/'
[root@server user]# cp -r usemv/* usecp/
[root@server user]# cd usecp/
[root@server usecp]# ls
destination file source test1 test2 test3
[root@server usecp]# su user
[user@server usecp]$ cd
[user@server ~]$ touch 111.txt
[user@server ~]$ ls -l
total 0
-rw-rw-r--. 1 user user 0 Jan 4 11:04 111.txt
-rw-r--r--. 1 root root 0 Jan 4 09:47 1.txt
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Desktop
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Documents
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Downloads
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Music
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Pictures
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Public
drwxr-xr-x. 2 root root 6 Jan 4 10:01 source
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Templates
drwxr-xr-x. 8 root root 90 Jan 4 10:46 usecp
drwxrwxr-x. 5 user user 69 Jan 4 10:19 usemkdir
drwxr-xr-x. 4 root root 39 Jan 4 10:02 usemv
drwxr-xr-x. 2 user user 6 Jan 4 09:16 Videos
[root@server user]# cp 111.txt source/
[root@server user]# cd source/
[root@server source]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jan 4 12:09 111.txt //与原文件的属性不同,属主和属组都被改变
[root@server source]# cd ..
[root@server user]# cp -p 111.txt usemv
[root@server user]# cd usemv
[root@server usemv]# ls -l
total 0
-rw-rw-r--. 1 user user 0 Jan 4 11:04 111.txt //与原文件的属性相同
drwxr-xr-x. 2 root root 21 Jan 4 10:09 destination
drwxr-xr-x. 2 root root 36 Jan 4 10:24 source
12rm
删除文件或目录
-f
强制删除不提示
-i
提示是否删除(默认选项)
-r
递归删除目录及目录中的所有文件
[root@server user]# ls
111.txt Documents Pictures Templates usemv
1.txt Downloads Public usecp Videos
Desktop Music source usemkdir
[root@server user]# rm -i 1.txt
rm: remove regular empty file '1.txt'? yes
[root@server user]# ls
111.txt Downloads Public usecp Videos
Desktop Music source usemkdir
Documents Pictures Templates usemv
[root@server user]# rm -f 111.txt
[root@server user]# ls
Desktop Downloads Pictures source usecp usemv
Documents Music Public Templates usemkdir Videos
[root@server user]# mkdir 123
[root@server user]# cd 123/
[root@server 123]# touch 222
[root@server 123]# pwd
/home/user/123
[root@server 123]# ls
222
[root@server 123]# cd ..
[root@server user]# rm -f 123
rm: cannot remove '123': Is a directory
[root@server user]# rm -rf 123
[root@server user]# ls
Desktop Downloads Pictures source usecp usemv
Documents Music Public Templates usemkdir Videos
[root@server user]# rm -rf / //强制删除根目录下所有文件,RHEL7,8系统做了保护
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
[root@server user]# rm -rf / --no-preserve-root //强制删除根目录下所有文件
13.文件通配在ls cp rm
等文件管理命令重经常会用到。
使用通配符来表示某一类文件。
14.文件归档 压缩
tar
文件归档打包工具:
将多个文件或目录打包成一个文件
[root@server user]# mkdir usetar
[root@server user]# cd usetar/
[root@server usetar]# touch file1.txt file2.txt
[root@server usetar]#tar -cf file.tar file1.txt file2.txt
file1.txt
file2.txt
[root@server usetar]# ls
file1.txt file2.txt file.tar
[root@server usetar]# tar -tvf file.tar
-rw-r--r-- root/root 0 2020-01-04 14:10 file1.txt
-rw-r--r-- root/root 0 2020-01-04 14:10 file2.txt
[root@difu1909 usetar]# tar -xvf file.tar
file1.txt
file2.txt
归档并压缩
tar 本身不具备压缩功能,可以通过调用其它压缩工具进行压缩。
linux下常用的压缩工具:gzip bzip2
-z
使用gizp压缩
-j
使用bzip2压缩
-J
使用xz压缩
常用的组合选项:
-czvf
创建归档文件并使用gzip压缩
[root@server usetar]# cd ..
[root@server user]# mkdir usemk
[root@server user]# cd usemk
[root@server usemk]# touch file1.txt file2.txt file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt
[root@server usemk]# tar -czvf file.tar.gzip file1.txt file2.txt file3.txt
file1.txt
file2.txt
file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.gzip
[root@server usemk]# file file.tar.gzip
file.tar.gzip: gzip compressed data, last modified: Sat Jan 4 19:48:30 2020, from Unix, original size 10240
-xzvf
提取并使用gzip解压归档文件
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.gzip
[root@server usemk]# rm -rf ./*.txt
[root@server usemk]# ls
file.tar.gzip
[root@server usemk]# tar -xzvf file.tar.gzip
file1.txt
file2.txt
file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.gzip
-cjvf
创建归档文件并使用bzip2压缩
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.gzip
[root@server usemk]# tar -cjcf file.tar.bzip file1.txt file2.txt file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip
[root@server usemk]# file file.tar.bzip
file.tar.bzip: bzip2 compressed data, block size = 900k
[root@server usemk]#
-xjvf
提取并使用bzip2解压归档文件
[root@server usemk]# rm -rf ./*.txt
[root@server usemk]# ls
file.tar.bzip file.tar.gzip
[root@server usemk]# tar -xjvf file.tar.bzip
file1.txt
file2.txt
file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip
-cJvf
创建归档文件并使用xz压缩
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip
[root@server usemk]# tar -cJvf file.tar.xz file1.txt file2.txt file3.txt
file1.txt
file2.txt
file3.txt
[root@server usemk]# ls
file1.txt file3.txt file.tar.gzip
file2.txt file.tar.bzip file.tar.xz
[root@server usemk]# file file.tar.xz
file.tar.xz: XZ compressed data
[root@server usemk]#
-xJvf
提取并使用xz解压归档文件
[root@server usemk]# rm -rf ./*.txt
[root@server usemk]# ls
file.tar.bzip file.tar.gzip file.tar.xz
[root@server usemk]# tar -xJvf file.tar.xz
file1.txt
file2.txt
file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip file.tar.xz
小总结:
tar -czvf
[创建归档并gzip压缩]
tar -xzvf
[提取gzip压缩的归档文件]
tar -cjvf
[创建归档并使用bzip2压缩]
tar -cJvf
[创建归档并使用xz压缩]
[root@server user]# tar -czvf /home/user/file.tar.gzip /home/user/usemkdir
// /home/user/file.tar.gzip归档后的目标路径 /home/user/usemkdir文件源路径
其它一些常用的压缩文件工具
ZIP工具
压缩:
[root@server usemk]# zip file.zip file1.txt file2.txt file3.txt
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.txt (stored 0%)
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip file.tar.xz file.zip
[root@server usemk]# file file.zip
file.zip: Zip archive data, at least v1.0 to extract
解压缩:
[root@server usemk]# rm -rf ./*.txt
[root@server usemk]# ls
file.tar.bzip file.tar.gzip file.tar.xz file.zip
[root@server usemk]# unzip file.zip
Archive: file.zip
extracting: file1.txt
extracting: file2.txt
extracting: file3.txt
[root@server usemk]# ls
file1.txt file2.txt file3.txt file.tar.bzip file.tar.gzip file.tar.xz file.zip
15.rename的使用
[root@server use123]# for i in `seq -w 10` 【`这个符号是tab键上面那个符号】
> do touch ab\_$i\_file.txt
> done
或
[root@server usere]# for i in `seq w 10` ; do touch
ab_"$i"_file.txt; done
[root@server usere]# mkdir usere
[root@server usere]# cd usere/
[root@server usere]# for i in `seq -w 10` ; do touch ab_"$i"_file.txt; done
[root@server usere]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_01_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_02_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_03_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_04_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_05_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_06_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_07_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_08_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_09_file.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_10_file.txt
[root@server usere]# rename \file 'user' *.txt
[root@server usere]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_01_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_02_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_03_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_04_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_05_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_06_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_07_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_08_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_09_user.txt
-rw-r--r--. 1 root root 0 Jan 4 15:40 ab_10_user.txt
16.文件查找:
which
:查找命令
locate
:基于数据库查找,查找速度快,需要更新数据库。(不常用)
find
:遍历查找,搜索速度慢,精确。(常用)
[root@server user]# which ps
/usr/bin/ps
[root@server user]# which type
/usr/bin/type
[which 查找仅限于这几个目录]
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
find [路径] [选项] [动作]
路径:搜索的范围,默认当前目录
选项:搜索条件,默认所有文件
动作:搜索到文件后执行的动作,默认动作是显示
[root@server ~]# mkdir /home/user/find
[root@server usetar]# find / -size +5M -type f //查找根目录下所有大于5M的文件
[root@server usetar]# find / -perm 777 -type l //查找根目录下所有文件权限为777的链接文件
动作:
默认是显示查找的内容
- exec
:把查找到的内容交给exec后面的命了执行
[root@server ~]# find /tmp/ size +5M exec cp a {} /home/user/find/ \;
[root@server ~]# find /etc/ size +1M exec cp a v {} /home/user/find/ \;
ok:跟exec的区别是需要确认
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
Linux命令编辑
一般说的“命令行”是指linux命令,linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell(外壳)命令和Linux命令。
二、随笔写的基础命令
1.文件目录基础命令
cd /home //进入 '/ home' 目录'
cd .. //返回上一级目录
cd ../.. //返回上两级目录
cd //进入个人的主目录
cd ~user1 //进入个人的主目录
cd - //返回上次所在的目录
pwd //显示工作路径
ls //查看目录中的文件
ls -F //查看目录中的文件
ls -l //显示文件和目录的详细资料
ls -a //显示隐藏文件
ls -R //显示目录结构和目录内文件
ls *[0-9]* //显示包含数字的文件名和目录名
tree //显示文件和目录由根目录开始的树形结构(1)
lstree //显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 //创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 //同时创建两个目录
mkdir -p /tmp/dir1/dir2 //创建一个目录树
rm -f file1 //删除一个叫做 'file1' 的文件'
rmdir dir1 //删除一个叫做 'dir1' 的目录'
rm -rf dir1 //删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 //同时删除两个目录及它们的内容
mv dir1 new_dir //重命名/移动 一个目录
cp file1 file2 //复制一个文件
cp dir/* . //复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . //复制一个目录到当前工作目录
cp -a dir1 dir2 //复制一个目录
ln -s file1 lnk1 //创建一个指向文件或目录的软链接
ln file1 lnk1 //创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
2.文件搜索基础命令
find / -name file1 从 '/' //开始进入根文件系统搜索文件和目录
find / -user user1 //搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin //在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 //搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 //搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; //搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm //搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps //寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt //显示一个二进制文件、源码或man的位置
which halt //显示一个二进制文件或可执行文件的完整路径
3.文件系统基础命令
mount /dev/hda2 /mnt/hda2 //挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 //卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 //当设备繁忙时强制卸载
umount -n /mnt/hda2 //运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy //挂载一个软盘
mount /dev/cdrom /mnt/cdrom //挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder //挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom //挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 //挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk //挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share //挂载一个网络共享
4.磁盘空间基础命令
df -h //显示已经挂载的分区列表
ls -lSr |more //以尺寸大小排列文件和目录
du -sh dir1 估算目录 'dir1' //已经使用的磁盘空间'
du -sk * | sort -rn //以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n //以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的 空间 (ubuntu, debian类系统)