1. su
- 普通用户切换root用户
ubuntu@ubuntu20:~$ su
Password:
root@ubuntu20:/home/ubuntu# exit
exit
ubuntu@ubuntu20:~$
2. clear
- 清除当前终端显示的输出
- 快捷键ctrl+L键
3. cd
- 改变目录
ubuntu@ubuntu20:~/workspace$ cd ..
ubuntu@ubuntu20:~$ cd /
ubuntu@ubuntu20:/$ cd ~
ubuntu@ubuntu20:~$ ls
Desktop Documents Downloads Music Pictures Public Software Templates Videos workspace
ubuntu@ubuntu20:~$ pwd
/home/ubuntu
ubuntu@ubuntu20:~$
4. pwd
- 显示当前工作目录
- 执行
pwd
指令可立刻得知您目前所在的工作目录的绝对路径名称
ubuntu@ubuntu20:~$ pwd
/home/ubuntu
ubuntu@ubuntu20:~$
5. ls
- 列出目前工作目录所含之文件及子目录
[语法]
ls [-alrtAFR] [name…]
[参数]
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- -r 将文件以相反次序显示(原定依英文字母次序)
- -t 将文件依建立时间之先后次序列出
- -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
- -R 若目录下有文件,则以下之文件亦皆依序列出
ubuntu@ubuntu20:~$ ls -a
. .bash_history .bashrc .config Documents .gnupg .mozilla Pictures Public .sudo_as_admin_successful Videos workspace
.. .bash_logout .cache Desktop Downloads .local Music .profile Software Templates .wget-hsts
ubuntu@ubuntu20:~$ ls -l
total 40
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Downloads
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Music
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Pictures
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Public
drwxrwxr-x 4 ubuntu ubuntu 4096 11月 4 10:33 Software
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Templates
drwxr-xr-x 2 ubuntu ubuntu 4096 10月 12 2021 Videos
drwxrwxr-x 5 ubuntu ubuntu 4096 10月 27 2021 workspace
ubuntu@ubuntu20:~$ ls -r
workspace Videos Templates Software Public Pictures Music Downloads Documents Desktop
ubuntu@ubuntu20:~$ ls -t
Software workspace Documents Music Pictures Public Templates Videos Desktop Downloads
ubuntu@ubuntu20:~$ ls -F
Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ Software/ Templates/ Videos/ workspace/
ubuntu@ubuntu20:~$
6. touch
- 修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
[语法]
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期>][–help][–version][文件或目录…]
[参数]
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- –no-create 不会建立新档案。
- –help 列出指令格式。
- –version 列出版本讯息。
ubuntu@ubuntu20:~/Test$ ls
ubuntu@ubuntu20:~/Test$ touch test // 创建一个文件
ubuntu@ubuntu20:~/Test$ ls
test
ubuntu@ubuntu20:~/Test$ ls -l
total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 12月 4 15:49 test
ubuntu@ubuntu20:~/Test$ touch test // 修改时间属性
ubuntu@ubuntu20:~/Test$ ls -l
total 0
-rw-rw-r-- 1 ubuntu ubuntu 0 12月 4 15:49 test
ubuntu@ubuntu20:~/Test$
7. mkdir
- 创建目录
mkdir [-p] dirName
- -p创建多级目录
ubuntu@ubuntu20:~/Test$ mkdir a/b
mkdir: cannot create directory ‘a/b’: No such file or directory
ubuntu@ubuntu20:~/Test$ mkdir -p a/b
ubuntu@ubuntu20:~/Test$ ls
a test
ubuntu@ubuntu20:~/Test$ ls a/b/
ubuntu@ubuntu20:~/Test$
8. cp
- 拷贝命令
cp [options] source dest
[参数]
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
ubuntu@ubuntu20:~/Test$ ls
a test
ubuntu@ubuntu20:~/Test$ cp test test1
ubuntu@ubuntu20:~/Test$ cp a cp-a
cp: -r not specified; omitting directory 'a'
ubuntu@ubuntu20:~/Test$ cp a cp-a -r
ubuntu@ubuntu20:~/Test$ ls
a cp-a test test1
ubuntu@ubuntu20:~/Test$
9. mv
- 为文件或目录改名、或将文件或目录移入其它位置
mv [options] source dest
[参数]
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
- -n: 不要覆盖任何已存在的文件或目录。
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
ubuntu@ubuntu20:~/Test$ ls
a cp-a test test1
ubuntu@ubuntu20:~/Test$ mv a d
ubuntu@ubuntu20:~/Test$ ls
cp-a d test test1
ubuntu@ubuntu20:~/Test$ mv cp-a/ d/
ubuntu@ubuntu20:~/Test$ ls
d test test1
ubuntu@ubuntu20:~/Test$ ls d/
b cp-a
ubuntu@ubuntu20:~/Test$ mv test test2
ubuntu@ubuntu20:~/Test$ ls
d test1 test2
ubuntu@ubuntu20:~/Test$
10. rm
- 用于删除一个文件或者目录
rm [option] name
[参数]
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除
ubuntu@ubuntu20:~/Test$ ls
d test1 test2
ubuntu@ubuntu20:~/Test$ rm -i test1
rm: remove regular empty file 'test1'? y
ubuntu@ubuntu20:~/Test$ ls
d test2
ubuntu@ubuntu20:~/Test$ rm test2
ubuntu@ubuntu20:~/Test$ rm d
rm: cannot remove 'd': Is a directory
ubuntu@ubuntu20:~/Test$ rm d/ -r
ubuntu@ubuntu20:~/Test$ ls
ubuntu@ubuntu20:~/Test$
11. tar
- tar打包命令
[参数]
- -A或–catenate 新增文件到已存在的备份文件。
- -b<区块数目>或–blocking-factor=<区块数目> 设置每笔记录的区块数- 目,每个区块大小为12Bytes。
- -B或–read-full-records 读取数据时重设区块大小。
- -c或–create 建立新的备份文件。
- -C<目的目录>或–directory=<目的目录> 切换到指定的目录。
- -d或–diff或–compare 对比备份文件内和文件系统上的文件的差异。
- -f<备份文件>或–file=<备份文件> 指定备份文件。
- -F<Script文件>或–info-script=<Script文件> 每次更换磁带时,就- 执行指定的Script文件。
- -g或–listed-incremental 处理GNU格式的大量备份。
- -G或–incremental 处理旧的GNU格式的大量备份。
- -h或–dereference 不建立符号连接,直接复制该连接所指向的原始文- 件。
- -i或–ignore-zeros 忽略备份文件中的0 Byte区块,也就是EOF。
- -k或–keep-old-files 解开备份文件时,不覆盖已有的文件。
- -K<文件>或–starting-file=<文件> 从指定的文件开始还原。
- -l或–one-file-system 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。
- -L<媒体容量>或-tape-length=<媒体容量> 设置存放每体的容量,单位以1024 Bytes计算。
- -m或–modification-time 还原文件时,不变更文件的更改时间。
- -M或–multi-volume 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。
- -N<日期格式>或–newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。
- -o或–old-archive或–portability 将资料写入备份文件时使用V7格式。
- -O或–stdout 把从备份文件里还原的文件输出到标准输出设备。
- -p或–same-permissions 用原来的文件权限还原文件。
- -P或–absolute-names 文件名使用绝对名称,不移除文件名称前的"/"号。
- -r或–append 新增文件到已存在的备份文件的结尾部分。
- -R或–block-number 列出每个信息在备份文件中的区块编号。
- -s或–same-order 还原文件的顺序和备份文件内的存放顺序相同。
- -S或–sparse 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
- -t或–list 列出备份文件的内容。
- -T<范本文件>或–files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
- -u或–update 仅置换较备份文件内的文件更新的文件。
- -U或–unlink-first 解开压缩文件还原文件之前,先解除文件的连接。
- -v或–verbose 显示指令执行过程。
- -V<卷册名称>或–label=<卷册名称> 建立使用指定的卷册名称的备份文件。
- -w或–interactive 遭遇问题时先询问用户。
- -W或–verify 写入备份文件后,确认文件正确无误。
- -x或–extract或–get 从备份文件中还原文件。
- -X<范本文件>或–exclude-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。
- -z或–gzip或–ungzip 通过gzip指令处理备份文件。
- -Z或–compress或–uncompress 通过compress指令处理备份文件。
- -<设备编号><存储密度> 设置备份用的外围设备编号及存放数据的密度。
- –after-date=<日期时间> 此参数的效果和指定"-N"参数相同。
- –atime-preserve 不变更文件的存取时间。
- –backup=<备份方式>或–backup 移除文件前先进行备份。
- –checkpoint 读取备份文件时列出目录名称。
- –concatenate 此参数的效果和指定"-A"参数相同。
- –confirmation 此参数的效果和指定"-w"参数相同。
- –delete 从备份文件中删除指定的文件。
- –exclude=<范本样式> 排除符合范本样式的文件。
- –group=<群组名称> 把加入设备文件中的文件的所属群组设成指定的群组。
- –help 在线帮助。
- –ignore-failed-read 忽略数据读取错误,不中断程序的执行。
- –new-volume-script=<Script文件> 此参数的效果和指定"-F"参数相同。
- –newer-mtime 只保存更改过的文件。
- –no-recursion 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。
- –null 从null设备读取文件名称。
- –numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称。
- –owner=<用户名称> 把加入备份文件中的文件的拥有者设成指定的用户。
- –posix 将数据写入备份文件时使用POSIX格式。
- –preserve 此参数的效果和指定"-ps"参数相同。
- –preserve-order 此参数的效果和指定"-A"参数相同。
- –preserve-permissions 此参数的效果和指定"-p"参数相同。
- –record-size=<区块数目> 此参数的效果和指定"-b"参数相同。
- –recursive-unlink 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。
- –remove-files 文件加入备份文件后,就将其删除。
- –rsh-command=<执行指令> 设置要在远端主机上执行的指令,以取代rsh指令。
- –same-owner 尝试以相同的文件拥有者还原文件。
- –suffix=<备份字尾字符串> 移除文件前先行备份。
- –totals 备份文件建立后,列出文件大小。
- –use-compress-program=<执行指令> 通过指定的指令处理备份文件。
- –version 显示版本信息。
- –volno-file=<编号文件> 使用指定文件内的编号取代预设的卷册编号。
ubuntu@ubuntu20:~/Test$ tar czvf test.tar.gz ./
./
./c
./a
./b
tar: .: file changed as we read it
ubuntu@ubuntu20:~/Test$
12. ln
- 命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
[参数]
- -b 类似 --backup ,但不接受参数
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
ubuntu@ubuntu20:~/Test$ ls
a b c test.tar.gz
ubuntu@ubuntu20:~/Test$ ln -s test.tar.gz test1
ubuntu@ubuntu20:~/Test$ ls
a b c test1 test.tar.gz
ubuntu@ubuntu20:~/Test$ ls -l test
ls: cannot access 'test': No such file or directory
ubuntu@ubuntu20:~/Test$ ls -l
total 4
-rw-rw-r-- 1 ubuntu ubuntu 0 12月 4 16:29 a
-rw-rw-r-- 1 ubuntu ubuntu 0 12月 4 16:29 b
-rw-rw-r-- 1 ubuntu ubuntu 0 12月 4 16:29 c
lrwxrwxrwx 1 ubuntu ubuntu 11 12月 4 16:42 test1 -> test.tar.gz
-rw-rw-r-- 1 ubuntu ubuntu 151 12月 4 16:29 test.tar.gz
ubuntu@ubuntu20:~/Test$
13. cat
- 用于连接文件并打印到标准输出设备上,文件重定向
cat [-AbeEnstTuv] [–help] [–version] fileName
[参数]
- -n 或 --number:由 1 开始对所有输出的行数编号。
- -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
- -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为- 一行的空白行。
- -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 - TAB 之外。
- -E 或 --show-ends : 在每行结束处显示 $。
- -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
- -A, --show-all:等价于 -vET。
- -e:等价于"-vE"选项;
- -t:等价于"-vT"选项;
ubuntu@ubuntu20:~/Test$ touch file1
ubuntu@ubuntu20:~/Test$ cat -n file1 > file2
ubuntu@ubuntu20:~/Test$ ls
file1 file2
ubuntu@ubuntu20:~/Test$ echo 111 > file1
ubuntu@ubuntu20:~/Test$ cat file1
111
ubuntu@ubuntu20:~/Test$ cat file1 > file2
ubuntu@ubuntu20:~/Test$ cat file2
111
ubuntu@ubuntu20:~/Test$ cat file1 >> file2
ubuntu@ubuntu20:~/Test$ cat file2
111
111
ubuntu@ubuntu20:~/Test$
:~/Test$ touch file1
ubuntu@ubuntu20:~/Test$ cat -n file1 > file2
ubuntu@ubuntu20:~/Test$ ls
file1 file2
ubuntu@ubuntu20:~/Test$ echo 111 > file1
ubuntu@ubuntu20:~/Test$ cat file1
111
ubuntu@ubuntu20:~/Test$ cat file1 > file2
ubuntu@ubuntu20:~/Test$ cat file2
111
ubuntu@ubuntu20:~/Test$ cat file1 >> file2
ubuntu@ubuntu20:~/Test$ cat file2
111
111
ubuntu@ubuntu20:~/Test$
关注+私信获取大量Linux干货资料和代码