简介: Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
Linux的核心思想就是“一切皆文件”
Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
——引用自C语言中文网
I/O设备也被模型化为文件,对于输入输出的操作就变成了对于文件的读和写,Linux内核提供接口给用户
「命令描述」
ls命令用于显示指定工作目录下的内容。
「命令格式」
ls [参数] [目录名]。
「参数说明」
参数 | 说明 |
---|---|
-a | 显示所有文件及目录(包括隐藏文件) |
-l | 将文件的权限、拥有者、文件大小等详细信息列出(ll等同于ls -l) |
-r | 将文件反序列出(默认按英文字母正序) |
-t | 将文件按创建时间正序列出 |
-R | 递归遍历目录下文件 |
命令使用示例:
查看当前目录下的所有文件(包括隐藏文件)。
ll -a
「示例」
「命令描述」
获取当前工作目录的绝对路径。
「示例」
「命令描述」
cd命令用于切换工作目录。同windows一致。
「示例」
在路径表示中:
cd命令的默认参数为~,符号~表示当前用户的家目录,即在root用户登录时,命令cd、cd ~和cd /root执行效果相同。
「命令描述」
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
「命令格式」
touch [参数] [文件]。touch --help可以查看帮助。
[root@iZuf6bldw9r1va5vuegtacZ home]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'touch invocation'
「参数说明」
参数 | 说明 |
---|---|
-c | 如果指定文件不存在,不会建立新文件 |
-r | 使用参考文件的时间记录 |
-t | 设置文件的时间记录 |
「示例」
1)创建空文件
2)修改文件的时间属性(最后更改时间)
「命令描述」
mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。
「示例」
mkdir -p a/b/c/d
上述使用了 -r 属性,意思是循环创建目录。我们使用tree命令查看结构。
上一个步骤我们演示了。下面演示一个只显示2级的目录结构。具体参考tree -help
「示例」
使用时留意,需要仔细,认真。
「命令描述」
rm命令用于删除一个文件或者目录。
「命令格式」
rm [参数] [文件]。
「参数说明」
参数 | 说明 |
---|---|
-i | 删除前逐一询问确认 |
-f | 无需确认,直接删除 |
-r | 删除目录下所有文件 |
「示例」
1)查看当前目录 2)执行删除test.log文件 3)再次查看确认
当然我们也可以删除一个目录。例如我们删除a目录
「命令描述」
cp命令主要用于复制文件或目录。
「命令格式」
cp [参数] [源文件] [目标文件]。
「参数说明」
参数 | 说明 |
---|---|
-d | 复制时保留链接 |
-f | 覆盖已经存在的目标文件而不给出提示 |
-i | 覆盖前询问 |
-p | 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 |
-r | 复制目录及目录内的所有项目 |
「示例」
当前目录下test文件夹下面有个文件test1.txt,复制到test2文件夹下面去。
「命令描述」
mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
「命令格式」
mv [参数] [源文件] [目标文件]
「参数说明」
参数 | 说明 |
---|---|
-i | 若指定目录已有同名文件,则先询问是否覆盖旧文件 |
-f | 如果目标文件已经存在,不会询问而直接覆盖 |
「示例」
1)改名称
将test2目录下的test1.txt改为test1-1.txt
2)移动文件
将文件test1.log移动到test目录下
3)移动目录
这里要留意下,执行命令后,自己不能移动,不然就是在这里死循环了,但是其他文件还是可以被移动到目录下。
「命令描述」
rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式。
「示例」
有些时候,学习时间一件很快乐的事情,慢慢来吧~
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。