文件操作命令
1.ls命令
ls命令可以查看当前目录下的所有文件和文件夹,以及文件权限(包括目录、文件夹、文件权限)查看目录信息。
命令格式
ls 选项 目录名
常用参数
参数 | 作用 |
---|---|
-l | 列出长数据串,包含文件的属性与权限数据等 |
-a | 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) |
-d | 仅列出目录本身,而不是列出目录的文件数据 |
-h | 将文件容量以较易读的方式(GB,kB等)列出来 |
-R | 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 |
2.cd命令
cd命令可以进入指定目录,例如cd /
为进入根目录,cd /src/loacal/src
命令跳转至/src/loacal/src
目录下。
命令格式
cd 目录名
3.pwd命令
命令格式:
pwd 参数
常用参数
- -P :显示实际物理路径,而非使用连接(link)路径
- -L :当目录为连接路径时,显示连接路径
4.mkdir命令与rmdir 命令
mkdir命令可以创建指定名称的文件夹,但目录名不得为当前目录下已有的文件夹名。rmdir命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。命令格式
mkdir 目录名
rmdir 参数 目录名
常用参数
- mkdir常用参数
- -m, —mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
- -p, —parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
- -v, —verbose 每次创建新目录都显示信息
- —help 显示此帮助信息并退出
- —version 输出版本信息并退出
2.rmdir常用参数
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
- -v, —verbose 显示指令执行过程
示例
```powershell mkdir test #创建一个空目录
mkdir test test1 #创建两个空目录
mkdir test/test1 #递归创建多个目录。
rmdir test1 #删除空目录 test1,非空目录无法删除。
当子目录被删除后使它也成为空目录的话,则顺便一并删除
rmdir -p test2 # test 目录下仅有 test2
<a name="nqcIm"></a>
## 5.rm命令
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
<a name="WeSFh"></a>
### 命令格式
```powershell
rm 参数 要操作的文件名
常用参数
- -f, —force 忽略不存在的文件,从不给出提示。
- -i, —interactive 进行交互式删除
- -r, -R, —recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v, —verbose 详细显示进行的步骤
- —help 显示此帮助信息并退出
- —version 输出版本信息并退出
示例
```powershell rm test.txt #删除文件,系统会进行是否删除的提示
rm -f test.txt #删除文件,跳过提示
rm -r test #将test子目录以及子目录中的所有文件删除
<a name="MVn8S"></a>
## 6.mv命令
可以用来移动文件或者将文件改名(move (rename) files)。当第二个参数类型是文件时,mv命令完成文件重命名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
<a name="dwYm0"></a>
### 命令格式
```powershell
mv [选项] 源文件或目录 目标文件或目录
常用参数
- -b :若需覆盖文件,则覆盖前先行备份
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
- -u :若目标文件已经存在,且 source 比较新,才会更新(update)
- -t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后
示例
```powershell mv test1.txt test2.txt #将 test1.txt 重命名为 test2.txt。
mv test1.txt test2 #移动文件 test1.txt 到目录 test2
mv test1.txt test2.txt test3.txt test3 #将文件 test1.txt、test2.txt、test3.txt 移动到目录 test3。
<a name="kN9Rm"></a>
## 7.cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
<a name="EMmRe"></a>
### 命令格式
```powershell
cp [选项] 源文件 目录 或 cp [选项] -t 目录 源文件
常用参数
- -t —target-directory 指定目标目录
- -i —interactive 覆盖前询问(使前面的 -n 选项失效)
- -n —no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
- -f —force 强行复制文件或目录,不论目的文件或目录是否已经存在
- -u —update 使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件
示例
```powershell若文件存在,会提示是否覆盖。若不存在直接完成复制
cp test1.txt test1 #复制文件 test1.txt 到 test1 目录
cp -a test1 test2 #复制 test1 整个目录到 test2
<a name="cMR7T"></a>
## 8. touch 命令
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
<a name="N3UjX"></a>
### 命令格式
touch [选项] 文件
<a name="yNGJT"></a>
### 常用参数
- -a 或--time=atime或--time=access或--time=use 只更改存取时间
- -c 或--no-create 不建立任何文档
- -d 使用指定的日期时间,而非现在的时间
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
- -m 或--time=mtime或--time=modify 只更改变动时间
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 -t 使用指定的日期时间,而非现在的时间
<a name="lKwMl"></a>
### 使用实例
1.创建不存在的文件test.txt
```powershell
touch test.txt 复制代码
2.更新 test.txt 的实践和 test1.txt 时间戳相同
touch -r test.txt test1.txt
9.cat 命令
用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
命令格式
常用参数
- -A, —show-all 等价于 -vET
- -b, —number-nonblank 对非空输出行编号
- -e 等价于 -vE
- -E, —show-ends 在每行结束处显示 $
- -n, —number 对输出的所有行编号,由1开始对所有输出的行数编号
- -s, —squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
- -t 与 -vT 等价
- -T, —show-tabs 将跳格字符显示为 ^I
- -u (被忽略)
- -v, —show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
使用实例
1.把 test.log 的文件内容加上行号后输入 test1.log 这个文件里。cat -n test.log test1.log 复制代码
- 将 test.log 的文件内容反向显示。
tac test.log
10.tar 命令
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的。命令格式
tar [必要参数] [选择参数] [文件]
常用参数
必要参数:
- -A 新增压缩文件到已存在的压缩
- -B 设置区块大小
- -c 建立新的压缩文件
- -d 记录文件的差别
- -r 添加文件到已经压缩的文件
- -u 添加改变了和现有的文件到已经存在的压缩文件
- -x 从压缩的文件中提取文件
- -t 显示压缩文件的内容
- -z 支持gzip解压文件
- -j 支持bzip2解压文件
- -Z 支持compress解压文件
- -v 显示操作过程
- -l 文件系统边界设置
- -k 保留原有文件不覆盖
- -m 保留文件不被覆盖
- -W 确认压缩文件的正确性
可选参数:
- -b 设置区块数目
- -C 切换到指定目录
- -f 指定压缩文件
- —help 显示帮助信息
-
使用实例
1.将文件打全部打包成tar包。
tar -cvf test.tar test.log # 仅打包,不压缩!
tar -zcvf test.tar.gz test.log # 打包后,以 gzip 压缩
tar -zcvf test.tar.bz2 test.log # 打包后,以 bzip2 压缩 复制代码
2.将 tar 包解压缩
tar -zxvf test.tar.gz
11.gzip 命令
使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出”.gz”的扩展名。
命令格式
gzip [参数] [文件或者目录]
常用参数
-a或—ascii 使用ASCII文字模式。
- -c或—stdout或—to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d或—decompress或——uncompress 解开压缩文件。
- -f或—force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h或—help 在线帮助。
使用实例
1.把 test1 目录下的每个文件压缩成.gz 文件。test6 $ gzip *
防火墙命令
1. 设置防火墙开机自启
命令格式:
#设置开机自启
systemctl enable firewalld.service
#关闭开机自启
systemctl disable firewalld.service
示例
设置开机自启systemctl enable firewalld.service
设置后将会提示:
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
2.手动开启关闭防火墙
命令格式
#关闭防火墙
systemctl stop firewalld.service
#开启防火墙
systemctl start firewalld.service
3.手动开放防火墙的端口
命令
查看防火墙开启的端口
firewall-cmd --list-ports
检查特定端口是否开放
firewall-cmd --query-port 端口号/tcp
将特定端口加入防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
将特定端口移除防火墙
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
防火墙重启
firewall-cmd --reload