编程语言
728
1.cd
对于切换为根目录的三种方法
cd cd ~ cd /home/用户名
对于在两个较深且复杂的目录下一直切换
cd /目录1 cd /目录2 cd - #可以一直在两个目录之间进行切换
2.ls
ls [args] #查看当前目录 ls [args] 目录名 #查看指定目录 ls [args] 文件名 #查看文件信息
ls -l :(list)显示文件详细信息
查询文件详细信息有简单写法 : ll
有的版本ll等价于 ls -l 有的则是 ls -laF
ls -a : (all) 显示所有文件,包括隐藏文件 默认情况下,隐藏的文件不会被显现出来 文件名前有一个 . 就说明文件有隐藏属性
ls -h :(human) 人性化的将ls -l中显示文件大小的数据显示出来 原本的默认大小单位是字节(byte)
ls -F : 将文件类型的前面加上/
3.文件详细信息
如果文件名所表示的是一个目录,那么其大小只是表示目录的大小,而并非其子目录/文件的和
文件类型又分为7种 |-| 普通的文件, 在Linux终端中没有执行权限的为白色, 压缩包为红色, 可执行程序为绿色字体 | |--|--| | d | 目录(directory), 在Linux终端中为蓝色字体, 如果目录的所有权限都是开放的, 有绿色的背景色 | | l| 软链接文件(link), 相当于windows中的快捷方式, 在Linux终端中为淡蓝色(青色)字体 | | c | 字符设备(char)(键盘..), 在Linux终端中为黄色字体| | b|块设备(block)(u盘,磁盘...), 在Linux终端中为黄色字体 | | p| 管道文件(pipe), 在Linux终端中为棕黄色字体 | | s| 本地套接字文件(socket), 在Linux终端中为粉色字体 |
4.目录的创建和删除
mkdir 目录名 #单层目录的创建 mkdir -p 目录名 #多层目录的创建
rmdir 目录名 #只能删除空目录(如果目录种有子文件/目录就无法删除) rm 文件 #删除文件 rm -r 目录名 #(递归)删除目录 rm -i #删除时给提示 rm -f #强制删除文件,没有提示且不能恢复
5.cp
cp 要拷贝的文件 得到的文件 cp 文件A 文件B 如果文件B不存在就创建文件B 如果文件B存在就被文件A覆盖
cp -r 目录A 目录B 1:目录B不存在就创建且拷贝 2:目录B存在,A目录就会将自己全部拷贝到B的子目录中
6.mv
#文件/目录的移动 mv 目录/文件 目录 mv A B #A既可以是文件也可以是目录,B必须是目录且必须存在
#文件/目录改名 mv 文件名/目录名 文件名/目录名 mv A B #A可以是文件也可以是目录,B是必须不存在的
#文件覆盖 mv 存在的文件 存在的文件 mv A B #AB必须都是文件且存在,A的内容覆盖B,A被删除
7.查看文件内容
终端是有缓存的,因此显示的字节也会受限,需要用合适的命令
cat 文件名 #直接显示所有 more 文件名 #可用翻屏查看 #more快捷键 回车:下一行 空格:向下一屏 b:向上一屏 q:退出 less 文件名 #同more类似,多出来可以用上下箭头滚动 head 文件名 #默认显示文件前十行 head -行数 文件名 #显示文件前n行 tail 文件名 #默认显示文件尾十行 tail -行数 文件名 #显示文件后n行
8.链接的创建
#软链接的创建 ln -s 源文件的路径 软链接的路径(名字) #注意:源文件的路径最好是绝对路径,否则可能会:软链接的移动使得软链接无法使用 #硬链接的创建 ln 源文件 硬链接的路径(名字) #硬链接和软链接不同, 它是通话文件名直接找对应的硬盘地址, 而不是基于路径 #因此 源文件使用相对路径即可,无需为其制定绝对路径 #目录是不允许创建硬链接的
9.更改文件权限
#文字设定法 chmod who [+|-|=] mod 文件名 - who: u: user -> 文件所有者 g: group -> 文件所属组用户 o: other -> 其他 a: all, 以上是三类人 u+g+o - 对权限的操作: +: 添加权限 -: 去除权限 =: 权限的覆盖 - mod: 权限 r: read, 读 w: write, 写 x: execute, 执行 -: 没有权限 #数字设定法 chmod [+|-|=] mod 文件名 权限操作中=可以不写 - mod: 4: read, r 2: write, w 1: execute , x 0: 没有权限
10.修改文件所有者/组
#修改文件所有者 sudo chown 新的所有者 文件名 #只修改文件所有者 sudo chown 新的所有者:新的组名 文件名 #修改文件所有者和所属组 #修改文件所属组 sudo chgrp 新的组 文件名
对于普通用户无法使用sudo的解决方式
11.其他命令
tree [目录名] -L n #树状显示(目录)n层 touch 文件名 #如果文件已经存在则只会更新文件的修改日期 which 命令 #查看要执行命令的实际路径 #该命令只能查看非内建的shell指令所在的实际路径, 有些命令是直接写到内核中的, 无法查看 > #将文件内容写入到指定文件中, 如果文件中已有数据, 则会使用新数据覆盖原数据 >> #将输出的内容追加到指定的文件尾部 id 用户名 #显示其id,组id