Linux学习之Linux常用命令06_Linux命令大全_Linux文件管理02_ls命令_cp_pwd命令

教程发布:风哥 教程分类:Linux教程 更新日期:2020-03-07 浏览学习:2685

风哥针对大家学习Linux常用命令时,涉及到很多的Linux文件管理类命令大全,接下来风哥就重点为大家介绍这些Linux命令的作用及这些Linux命令的使用案例教程(Linux文件管理1-10):
1.Linux命令-Linux文件管理命令01:ls命令

ls 命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。
默认状态下,ls命令会列出当前目录的内容。而带上参数后,我们可以用ls做更多的事情。作为最基础同时又是使用频率很高的命令,我们很有必要搞清楚ls命令的用法,那么接下来一起看看吧!
语法格式: ls [选项] [文件]
常用参数:
-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-A 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-S 根据文件大小排序
-R 递归列出所有子目录
Linux命令教程案例:
列出所有文件(包括隐藏文件):
[root@fgedu.net ~]# ls -a
列出文件的详细信息:
[root@fgedu.net ~]# ls -l
列出根目录(/)下的所有目录:
[root@fgedu.net ~]# ls /
列出当前工作目录下所有名称是 “s” 开头的文件 :
[root@fgedu.net ~]# ls -ltr s*
列出 /bin 目录下的所有目录及文件的详细信息 :
[root@fgedu.net ~]# ls -lR /bin
列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
[root@fgedu.net ~]# ls -AS

2.Linux命令-Linux文件管理命令02:rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
1.命令格式rm [选项] 文件…
2.命令功能删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3.命令参数
-f, --force 忽略不存在的文件,从不给出提示。-i, --interactive 进行交互式删除-r, -R, --recursive  指示rm将参数中列出的全部目录和子目录均递归地删除。-v, --verbose 详细显示进行的步骤:
--help     显示此帮助信息并退出--version  输出版本信息并退出

4.命令Linux命令教程案例Linux命令教程案例一删除文件,系统会先询问是否删除。
rm 文件名
Shell
输出:
[itpux@fgedu.net ~]$ ll
total 12
drwxrwxr-x 2 itpux itpux 4096 Feb 12 17:14 ./
drwxrwxr-x 8 itpux itpux 4096 Feb 12 17:14 ../
-rw-rw-r-- 1 itpux itpux   30 Feb 12 17:14 itpuxlog.txt

[itpux@fgedu.net ~]$ rm itpuxlog.txt
[itpux@fgedu.net ~]$
Shell
说明:输入rm itpuxlog.txt命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。

Linux命令教程案例二强行删除文件,系统不再提示。命令:
rm -f itpuxlog.txt
Shell
输出:
[itpux@fgedu.net ~]$ rm -f itpuxlog.txt
[itpux@fgedu.net ~]$ ll
total 8
drwxrwxr-x 2 itpux itpux 4096 Feb 12 17:17 ./
drwxrwxr-x 8 itpux itpux 4096 Feb 12 17:14 ../
Shell
Linux命令教程案例三删除任何.txt文件;删除前逐一询问确认
命令:
rm -i *.txt
Shell
输出:
[itpux@fgedu.net ~]$ ll
total 8
drwxrwxr-x 2 itpux itpux 4096 Feb 12 17:20 ./
drwxrwxr-x 8 itpux itpux 4096 Feb 12 17:14 ../
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:20 text1.txt
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:20 text2.txt
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:20 text.txt

[itpux@fgedu.net ~]$ rm -i *.txt
rm: remove regular empty file ‘text1.txt’? y
rm: remove regular empty file ‘text2.txt’? y
rm: remove regular empty file ‘text.txt’? y
Shell
Linux命令教程案例四将目录及子目录中所有档案删除。命令:
rm -r tempdir
Shell
输出:
itpux@fgedu.net:~/mkdir$ ll
total 36
drwxrwxr-x  9 itpux itpux 4096 Feb 12 17:23 ./
drwxr-xr-x 18 itpux itpux 4096 Feb 12 17:24 ../
drwxrwxr-x  7 itpux itpux 4096 Feb 10 00:46 project/
drwxrwxr-x  5 itpux itpux 4096 Feb 12 17:24 tempdir/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 17:21 itpux/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 16:46 itpux1/
drwxrwxrwx  2 itpux itpux 4096 Feb 10 00:39 itpux3/
drwxrwxr-x  2 itpux itpux 4096 Feb 10 00:43 itpux4/
drwxrwxr-x  3 itpux itpux 4096 Feb 10 00:43 itpux5/

itpux@fgedu.net:~/mkdir$ rm -r tempdir
itpux@fgedu.net:~/mkdir$ ll
total 32
drwxrwxr-x  8 itpux itpux 4096 Feb 12 17:26 ./
drwxr-xr-x 18 itpux itpux 4096 Feb 12 17:24 ../
drwxrwxr-x  7 itpux itpux 4096 Feb 10 00:46 project/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 17:21 itpux/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 16:46 itpux1/
drwxrwxrwx  2 itpux itpux 4096 Feb 10 00:39 itpux3/
drwxrwxr-x  2 itpux itpux 4096 Feb 10 00:43 itpux4/
drwxrwxr-x  3 itpux itpux 4096 Feb 10 00:43 itpux5/
Shell
Linux命令教程案例五rm -rf itpux2命令会将 itpux2 子目录及子目录中所有档案删除,并且不用逐个确认。命令:
rm -rf  itpux3
Shell
输出:
itpux@fgedu.net:~/mkdir$ ll
total 32
drwxrwxr-x  8 itpux itpux 4096 Feb 12 17:26 ./
drwxr-xr-x 18 itpux itpux 4096 Feb 12 17:24 ../
drwxrwxr-x  7 itpux itpux 4096 Feb 10 00:46 project/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 17:21 itpux/
drwxrwxr-x  2 itpux itpux 4096 Feb 12 16:46 itpux1/
drwxrwxrwx  2 itpux itpux 4096 Feb 10 00:39 itpux3/
drwxrwxr-x  2 itpux itpux 4096 Feb 10 00:43 itpux4/
drwxrwxr-x  3 itpux itpux 4096 Feb 10 00:43 itpux5/
itpux@fgedu.net:~/mkdir$ rm -rf itpux3
itpux@fgedu.net:~/mkdir$
Shell
Linux命令教程案例六删除以 -f 开头的文件命令:
rm -- -f
Shell
输出:
[itpux@fgedu.net ~]$ ls
[itpux@fgedu.net ~]$ touch -- -f
[itpux@fgedu.net ~]$ ls
-f
[itpux@fgedu.net ~]$ ls -- -f
-f
[itpux@fgedu.net ~]$ rm -- -f
[itpux@fgedu.net ~]$ ls
[itpux@fgedu.net ~]$ ls -- -f
ls: cannot access -f: No such file or directory
Shell
也可以使用下面的操作步骤(另外一种方式):
[itpux@fgedu.net ~]$ touch ./-f
[itpux@fgedu.net ~]$ ls ./
-f

[itpux@fgedu.net ~]$ rm ./-f
[itpux@fgedu.net ~]$ ls
[itpux@fgedu.net ~]$
Shell
Linux命令教程案例七自定义回收站功能。命令:
myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
Shell
执行结果:
[itpux@fgedu.net ~]$  myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
[itpux@fgedu.net ~]$ alias rm='myrm'
[itpux@fgedu.net ~]$ touch 1.log 2.log 3.log
[itpux@fgedu.net ~]$ ll
total 8
drwxrwxr-x 2 itpux itpux 4096 Feb 12 17:34 ./
drwxrwxr-x 7 itpux itpux 4096 Feb 12 17:28 ../
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:34 1.log
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:34 2.log
-rw-rw-r-- 1 itpux itpux    0 Feb 12 17:34 3.log
[itpux@fgedu.net ~]$ rm [123].log
moved to /tmp/20160213173448 ok
[itpux@fgedu.net ~]$ ll
total 8
drwxrwxr-x 2 itpux itpux 4096 Feb 12 17:34 ./
drwxrwxr-x 7 itpux itpux 4096 Feb 12 17:28 ../

[itpux@fgedu.net ~]$ sudo ls /tmp/20160213173448
1.log  2.log  3.log
[itpux@fgedu.net ~]$
Shell
注意:上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。


4.Linux命令-Linux文件管理命令04:mkdir命令
mkdir命令是“make directories”的缩写,用来创建目录。
注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?
语法格式 : mkdir [参数] [目录]
常用参数:
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限
-z 设置安全上下文
-v 显示目录的创建过程
Linux命令教程案例:
在工作目录下,建立一个名为 dir 的子目录:
[root@fgedu.net ~]# mkdir dir
在目录/usr/itpux下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
[root@fgedu.net ~]# mkdir -m 700 /usr/itpux/dir
同时创建子目录dir1,dir2,dir3:
[root@fgedu.net ~]# mkdir dir1 dir2 dir3
递归创建目录:
[root@fgedu.net ~]# mkdir -p itpux/dir

5.Linux命令-Linux文件管理命令05:cp命令
cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录。
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
语法格式:cp [参数] [文件]
常用参数:
-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于“dpr”选项
Linux命令教程案例:
复制目录:
[root@fgedu.net ~]# cp -R dir1 dir2/
将文件itpux1改名为itpux2:
[root@fgedu.net ~]# cp -f itpux1 itpux2
复制多个文件:
[root@fgedu.net ~]# cp -r file1 file2 file3 dir
交互式地将目录 /usr/itpux 中的所有.c文件复制到目录 dir 中
[root@fgedu.net ~]# cp -r /usr/itpux/*.c dir


6.Linux命令-Linux文件管理命令06:pwd命令
pwd命令是“print working directory”中每个单词的首字母缩写,其功能正如所示单词一样,为打印工作目录,即显示当前工作目录的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,我们可以使用pwd命令快速查看当前我们所在的目录路径。
语法格式: pwd [参数]
常用参数:
-L 显示逻辑路径
Linux命令教程案例:
查看当前工作目录路径:
[root@fgedu.net ~]# pwd
/home/itpux

7.Linux命令-Linux文件管理命令07:mv命令
mv命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。
这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv与cp的结果不同。mv命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而cp命令是对文件进行复制操作,文件个数是有增加的。
语法格式:mv [参数]
常用参数:
-i 若存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,覆盖前为其创建一个备份
-u
当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
Linux命令教程案例:
将文件itpuxfile_1重命名为itpuxfile_2:
[root@fgedu.net ~]# mv itpuxfile_1 itpuxfile_2
将文件file移动到目录dir中 :
[root@fgedu.net ~]# mv file /dir
将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):
[root@fgedu.net ~]# mv /dir1 /dir2
将目录dir1下的文件移动到当前目录下:
[root@fgedu.net ~]# mv /dir1/* .

8.Linux命令-Linux文件管理命令08:touch命令
touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。
注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。
语法格式:touch [参数] [文件]
常用参数:
-a 改变档案的读取时间记录
-m 改变档案的修改时间记录
-r 使用参考档的时间记录,与 --file 的效果一样
-c 不创建新文件
-d 设定时间与日期,可以使用各种不同的格式
-t 设定档案的时间记录,格式与 date 命令相同
--no-create 不创建新文件
--help 显示帮助信息
--version 列出版本讯息
Linux命令教程案例:
创建空文件:
[root@fgedu.net ~]# touch file.txt 
批量创建文件:
[root@fgedu.net ~]# touch file{1..5}.txt
[root@fgedu.net ~]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt
修改文件的access(访问)时间:
[root@fgedu.net ~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2017-02-07 19:25:34.729216500 +0800
 Modify: 2017-02-07 19:25:34.729216500 +0800
 Change: 2017-02-07 19:25:34.729216500 +0800
  Birth: -
[root@fgedu.net ~]# touch -a file.txt
[root@fgedu.net ~]# stat file.txt


9.Linux命令-Linux文件管理命令09:userdel命令
userdel命令用于删除指定的用户及与该用户相关的文件,英文全称即“user delete”。其实userdel命令实际上是修改了系统的用户账号文件 /etc/passwd、/etc/shadow以及/etc/group文件。这与Linux系统”一切操作皆文件”的思想正好吻合。
值得注意的是,但是如果有该要删除用户相关的进程正在运行,userdel命令通常不会删除一个用户账号。如果确实必须要删除,可以先终止用户进程,然后再执行userdel命令进行删除。但是userdel命令也提供了一个面对该种情况的参数,即”-f”选项。
语法格式:userdel [参数] [用户名]
常用参数:
-f 强制删除用户账号
-r 删除用户主目录及其中的任何文件
-h 显示命令的帮助信息
Linux命令教程案例:
删除用户,但不删除其家目录及文件:
[root@fgedu.net ~]# userdel itpux
删除用户,并将其家目录及文件一并删除 :
[root@fgedu.net ~]# userdel -r itpux


10.Linux命令-Linux文件管理命令10:ln命令
ln命令是linux系统中一个非常重要命令,英文全称是“link”,即链接的意思,它的功能是为某一个文件在另外一个位置建立一个同步的链接。 一种是hard link,又称为硬链接;另一种是symbolic link,又称为符号链接。
通俗一点理解,可以把硬链接当成源文件的副本,他和源文件一样的大小,但是事实上却不占任何空间。符号链接可以理解为类似windows一样的快捷方式。
符号链接 :
1. 符号链接以路径的形式存在,类似于Windows操作系统中的快捷方式。
2. 符号链接可以跨文件系统 ,硬链接不可以。
3. 符号链接可以对一个不存在的文件名进行链接,硬链接不可以。
4. 符号链接可以对目录进行链接,硬链接不可以。
硬链接:
1.硬链接以文件副本的形式存在,但不占用实际空间。
2. 硬链接不允许给目录创建硬链接。
3.硬链接只有在同一个文件系统中才能创建。
语法格式: ln [参数] [源文件或目录] [目标文件或目录]
常用参数:
-b 为每个已存在的目标文件创建备份文件
-d 此选项允许“root”用户建立目录的硬链接
-f 强制创建链接,即使目标文件已经存在
-n
把指向目录的符号链接视为一个普通文件
-i 交互模式,若目标文件已经存在,则提示用户确认进行覆盖
-s 对源文件建立符号链接,而非硬链接
-v 详细信息模式,输出指令的详细执行过程
Linux命令教程案例:
为源文件file.txt创建硬链接itpuxfile_1:
[root@itpux ~ ]# ln /root/dir/file.txt ./itpuxfile_1
使用ln命令的“-s”参数来创建目录的符号链接,并使用ls命令来查看链接文件的详细信息:
[root@fgedu.net ~]# ln -s dir file
[root@fgedu.net ~]# ls -l
总用量 4
-rw-------. 1 root root 1138 3月  11 14:48 anaconda-ks.cfg
drwxr-xr-x. 2 root root   36 4月   3 08:47 itpux
lrwxrwxrwx. 1 root root    4 4月   3 08:54 file -> dir
使用ln命令的“-v”参数来输出命令的详细执行过程:
[root@fgedu.net ~]# ln -v /root/dir/file.txt ./itpuxfile_1
 './itpuxfile_1' => '/root/dir/file.txt'
使用ln命令的“-b”命令来创建目标文件的备份文件,并使用ls命令来查看:
[root@fgedu.net ~]# ln -b /root/dir/file.txt ./itpuxfile_1
[root@fgedu.net ~]# ls
itpuxfile_1  itpuxfile_1~  dir

网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】Linux学习之Linux常用命令07_Linux命令大全_Linux文件管理03_cd命令_wc命令
【下一篇】Linux学习之Linux常用命令05_Linux命令大全_Linux文件管理命令大全(185个)