鸟哥的私房菜看得我云里雾里,个人觉得《Linux命令行大全》很适合新手看呢~
以下是个人的学习笔记,方便以后查询和学习~虽然整理地实在是有点乱~
一. shell是什么
date 实践和日期
cal 当前日历
df 磁盘驱动器当前的可用空间
free 可用内存
exit 结束终端回话
二. 导航
pwd 查看当前工作目录
cd 将工作目录改变为主目录
cd- 将工作目录改变为先前的工作目录
cd~username 将工作目录改变为username的主目录
三. Linux系统
ls 列出目录内容,可以指定多个目录
以’.’字符开头的文件名是隐藏的,ls不会列出这些文件,除非输入ls -a
ls命令的常用选项:
-a 列出所有文件,包括以点号开头的文件
-l 将输出以长格式显示
-d 将此选项与-l选项结合使用,可查看目录的详细信息,而不是目录的内容
-F 在每个所列出的名字后面加上类型指示符(如在目录名后面加上一个斜杠)
-r 以相反的顺序显示结果
-S 按文件的大小对结果排序
-t 按修改时间排序ls 长列表字段含义:
-表示一个普通文件,d表示目录(directory),l表示软链接
文件所有者、文件所属组中成员、其他所有人的访问权限
硬链接数目
文件所有者的名字
文件所属用户组的名称
文件大小
修改时间
文件名file filename 确定文件类型
less filename 查看文件内容
四.操作文件与目录
\* 匹配任意多个字符
?匹配任一单个字符(不包括0个)
[characters] 匹配任意一个属于字符集中的字符
[:alnum:] 匹配任意一个字母或数字
[:alpha:] 匹配任意一个字母
[:digit:] 匹配任意一个数字
[:lower:] 匹配任意一个小写字母
[:upper:] 匹配任意一个大写字母
mkdir directory... 创建目录
cp item1 item2 复制单个文件或目录
cp item... directory 复制多个项目进一个目录中
-a archive 复制文件和目录及其属性
-i -interactive 互动,覆盖之前会提示用户
-r -recursive 递归地复制目录及其内容
-u -update 只复制目标目录中不存在的文件或更新文件
-v -verbose 显示信息性消息
mv 移除和重命名文件
rm 删除文件和目录
ln 创建链接
ln file link 创建硬链接
ln -s item link 创建符号链接,item可以是文件也可以是目录
硬链接的局限性:
- 硬链接不能引用自身文件系统之外的文件,即不能引用与该链接不在同一磁盘分区的文件,简单地说无法跨越物理设备
- 硬链接无法引用目录
硬链接和文件本身没有什么区别,当硬链接被删除时,只是删除了这个链接,但是文件本身的内容依然存在,除非该文件的所有链接都被删除了。
符号链接是为了克服硬链接的局限性而创建的,符号链接是通过创建一个特殊类型的文件来起作用的,该文件包含了指向引用文件或目录的文本指针。
当删除一个符号链接时,删除的只是符号链接而没有删除文件本身。如果先于符号链接之前删除文件,那么这个链接依然存在,但却不指向任何文件,此时这个链接就称为坏链接。
由于文件名是由链接创建的,所以一个文件通常至少有一个链接。
ls -li 第一个字段就是索引节点号,看到fun和fun-hard共享同一个索引节点号,这就证实它们是相同的文件。
五. 命令的使用
type 显示命令的类型
which 显示可执行程序的位置
help + shell内置命令 获取帮助文档
可执行程序 + --help 显示命令的使用信息
man 显示程序的手册页
1 用户命令
2 内盒系统调用的程序接口
3 C库函数程序接口
4 特殊文件,如设备节点和驱动程序
5 文件格式
6 游戏和娱乐,