linux本质一切皆文件
ls命令;cd命令;mkdir命令;rm命令;touch命令;cp命令;mv命令;软链接和硬链接;权限;文件查找;软件安装与卸载;
ctrl p / n 历史命令上移下移
ctrl b / f 命令左移 右移
ctrl a 定位到命令最前面
ctrl e 定位到命令最后面
ctrl d 删除命令后面的文字
ctrl h删除命令前面的文字,可直接用backspace
ls命令
ls -a 显示全部文件 ps:文件名前面有 “.”为隐藏文件
ls -l 为显示文件详细信息
cd命令
三种”回家“的方式
1 | cd ~ |
文件类型:
- 普通文件【-】
- 目录【d】
- 链接符号【l】
- 块设别【b】
- 字符设别【c】
- socket文件【s】
- 管道【p】
mkdir命令
1 | mkdir aa #创建空目录 |
rm命令
1 | rm -r 文件或目录 #递归删除 |
touch命令
1 | touch 文件1 #创建文件 |
cp命令
1 | cp 文件1 文件2 #复制文件1到文件2 if 文件2不存在,则创建文件2 |
查看文件命令
cat 输出全部内容
more 输出一屏幕内容 ,回车增加一行,空格翻页,但是不可往前翻页
less 输出一屏幕内容 ,ctrl p 往前翻行,ctrl n往下翻行
tail 查看后10行 增加参数 -数字 则查看多少行
head 查看前10行
mv命令
可以用来移动或者改名1
mv 文件1 文件2
移动:如果移动到的文件2存在,则文件1内容移动到了文件2
改名:如果文件2不存在,则文件1消失,文件2被创建,并内容与文件1一样
软链接和硬链接
linux的链接分两种。一种被称为硬链接(hard link)一种被称为符号链接(软链接)
[硬链接]:指通过索引节点来进行连接。在linux的文件系统中,保存在磁盘分区中的文件不管是什么类型,都给分配一个编号,称为索引节点号(inode index)。在linux中,多个文件名指向同一个索引节点是存在的,一般这种连接就是硬链接。硬链接的一个作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到“重要“文件,防止误删,只删除一个硬链接不会影响索引节点本身和其他的连接,只有当最后一个连接被删除之后,数据的数据块才会被释放。也就是说,文件的真真删除是与之相关的所有硬链接都被删除。
[软连接]:另外一种连接被称为软连接(symbolic link),软连接类似于windows的快捷方式,他实际上是一个特殊的文件,在软链接中,文件实际是一个文本文件,包含另一个文件的位置信息;
1 | 命令测试: |
硬链接不占用空间,只是对文件进行了备份;不能给目录创建硬链接,只能给文件创建硬链接
参考自:https://blog.csdn.net/smilesundream/article/details/70215944
linux 的文件存储单位是块, inode
称之为i节点,保存了文件信息,通过inode找到文件。软链接是指向linux文件系统中的一个i节点,而硬链接是和软链接一样指向i节点,内容和软链接一样,并且删除一个硬链接不会影响软链接和其他硬链接,但是改动其中一个软链接或者硬链接,其他软链接和硬链接也会改变。可以使用ls -l
命令查看硬链接计数;
文件和目录属性 (理解)
wc 获取文本文件的行数 字数 字节数
od 查看二进制文件 -t 参数
du 查看当前目录大小 , 参数 -h 显示大小单位
df 查看磁盘使用情况 参数 -h 显示大小单位
which 命令
查找shell命令所在的路径which cd
不显示路径,因为cd是linux内建的命令
查看文件权限、用户、用户组
whoami
查看当前用户
修改文件权限
命令:chmod [who] [+|-|=] [mode]
[who]:
文件所有者:u
文件所属组:g
其他人 : o
所有的人: a
[+|-|=]:
+:增加权限
-:减少权限
=:覆盖原来的权限 [mode]: r:读 ; w:写; x:可执行
修改用户所有者和所有组
1 | 命令: |
文件的查找和检索
按照文件的属性查找(find)
文件名:
find + 查找的目录 + -name(这是参数) + "文件的名字"
文件大小:
find + 查找目录 + -size(参数) + +10k #查找大于10k的文件(k小写,M大写)
find + 查找目录 + -size + +10k + -size + +100k #大于10k小于100k
文件类型
find + 查找目录 + -type + d/c/p/l/b/f/s
按照文件内容查找 (grep)
grep -r "查找内容" 查找路径
软件的安装与卸载
在线安装
apt-get
安装:sudo apt-get install tree #tree替换位软件名
移除:sudo apt-get remove tree
更新:sudo apt-get update
清理所有的软件安装包:sudo apt-get clean(实际清理的是 /var/cache/apt/archiver 目录下的 .deb文件)deb包安装
安装:sudo dpkg -i xxx.deb
卸载:sudo dpkg -r xxx源码安装
1.解压缩源代码包
2.进入到安装目录
3.检测文件是否缺失,创建Makefile,检测编译环境:./configure
4.编译源码,生成库和可执行程序;命令:make
5.把库和可执行程序安装到系统了目录下:sudo make install
6.删除和卸载软件:sudo make distclean
7.上述安装步骤并不是绝对的,应该查看附带的README文件