做一些整理记录性质的东西,不然太容易忘记了
文件和目录管理
1.ls系列命令:
ls:列出目录内容。
ls -l:以长格式显示(包括权限、所有者、大小、修改日期等):这里面的第一列是权限相关;如果第一列的第一个字母以d开头说明是目录,l开头说明是符号连接,-开头说明是普通文件。之后每三位一组rwx
= 读/写/执行,分别是所有者权限,所属组权限和其他用户权限。这就是第一列的全部含义。
第二列的数字对于目录d,表示的是子目录的数量。比如你打开Agent这个目录,下面就会有3个子文件。对于文件-,表示的是指向该文件的硬链接综述。
第三列第四列分别表示用户名和文件所在的组名;
第五列表示的是文件大小,不过对于目录d来说表示的是目录元数据占用的磁盘空间,只有-类型的文件才是真实的大小
第六列到第八列表示的是最后修改的时间,然后就是第九列的文件名。这就是对于ls -l看到的内容的全部解释。
ls -a:显示所有文件,包括隐藏文件(以.
开头的文件)但是它显示的内容只有文件夹的名字。
ls -la:以ls -l的格式显示所有文件,包括隐藏文件(以.
开头的文件)。太多了就不完整截图了
ls -lh:以人类可读的格式显示文件大小(例如,1K, 234M, 2G)。其实就是把第四列换成了kb,Mb这样的单位,而不是默认的b。
更进一步的,我们还有ls -lah这样显示全部文件并以kb,Mb格式展示的组合,当然ls -lha这样替换也是OK的。a:展示隐藏,l:格式化输出,h:以人类可读的格式显示文件大小。此外,我们还有缩写ll命令,可以直接显示出ls -lah的结果
2.切换目录
cd /path/to/directory
:进入指定目录。这里的【/path/to/directory】替换成你想去的目录即可,这里可以输入绝对路径,如果要进入当前目录的子目录,比如你当前的目录是data,要进入子目录math里面的highschool目录,【/path/to/directory】替换成【math/highschool】,最后的命令也就是cd math/highschool。
cd ..:返回上一级目录。你甚至可以继续叠加cd ../..进入上层目录的上层目录;然后win系统下面是\
cd ~
或 cd
:返回当前用户的主目录。
cd -
:返回上次所在的目录
pwd (print working directory):显示当前工作目录的路径。
3.目录的增删改查
mkdir (make directory):创建新目录。
- mkdir my_new_folder:创建一个名为 my_new_folder 的目录。
- mkdir -p a/b/c:创建多级目录,如果父目录不存在也会一并创建。
rmdir empty_folder:删除名为 empty_folder 的空目录。
cp (copy):复制文件或目录。这里面的-r是比较通用的,对于批命令基本都需要用到-r
- cp file.txt new_file.txt:复制文件 file.txt 并命名为 new_file.txt。
- cp -r folder/ new_folder/:递归复制目录及其内容。
mv (move):移动或重命名文件/目录。
- mv file.txt /path/to/new_location/:将 file.txt 移动到新位置。
- mv old_name.txt new_name.txt:将 old_name.txt 重命名为 new_name.txt。
rm (remove):删除文件或目录。经典高危指令,一定一定是和上面的cp先保存个备份再使用。不然很容易出大问题
- rm file.txt:删除文件 file.txt。
- rm -r folder/:递归删除目录及其内容。
- rm -rf folder/:强制递归删除目录及其内容,不提示确认。
4.文件内容查看
cat file.txt:显示 file.txt 的全部内容。这里我的输出很奇怪是因为Encoding格式的问题,需要注意替换成UTF-8
修改完成后可以正常显示:
我们再增加一点内容:,使用head和tail查看文件:
head: 显示文件开头几行(默认为10行)。head -n 5 file.txt:显示文件前5行。
tail: 显示文件末尾几行(默认为10行)。tail -n 5 file.txt:显示文件后5行。
输出如下:
5.权限管理
chmod (change mode):改变文件或目录的权限。
- chmod +x script.sh:给脚本添加执行权限。
- chmod 755 file.txt:将文件权限设置为 rwxr-xr-x。
- 权限数字解释:r=4, w=2, x=1。
- 7 = 4+2+1 (rwx) -> 读、写、执行
- 6 = 4+2 (rw-) -> 读、写
- 5 = 4+1 (r-x) -> 读、执行
- 4 = 4 (r–) -> 读
- 第一个数字代表文件所有者权限,第二个代表同组用户权限,第三个代表其他用户权限。
chown (change owner):改变文件或目录的所有者。
chgrp (change group):改变文件或目录的所属组。
6.快捷键:
这些才是真的用得特别多:
Tab
:命令和文件名自动补全,按两次Tab
可以显示所有可能选项。Ctrl + C
:终止当前运行的命令。Ctrl + D
:输入文件结束符(EOF),通常用于退出shell。Ctrl + L
:清屏,相当于clear
命令。Ctrl + R
:反向搜索历史命令。- 上下箭头:浏览历史命令。