Linux初识 第一章
Linux中的一些基础指令
一.显示命令
- ls命令是显示命令,但是只显示当前文件的笼统信息如:
- 而ls -l命令就是显示更多当前文件的属性信息,也可以写成ll如:
- ls -a命令可以显示当前文件中的隐藏文件如:
而当想要显示当前文件的更多的属性信息则需要指令ls -al如:
二.创建命令
-
mkdir命令表示的是创建一个目录,文件类型为d如下:
-
touch命令表示的是创建一个普通文件,如txt文件,.c文件,.cpp文件等等如下:
上面两种命令只是创建一个文件或者目录,那么要如何才能一次创建多个目录或者文件呢? -
mkdir code code1 code2此时就可以一次创建三个目录如下:
创建文件和创建目录是一样的touch test.txt test1.txt test2.txt创建三个文件
三.删除命令
- rm + 文件名,此命令是删除普通文件的命令,例如.txt文件,.c文件,.cpp文件等等如下:
- rm -r + 文件名/目录名 或者 rm -rf + 文件名/目录名,此命令是删除文件名/目录名,当为-rf的时候是强制删除也就是说不会问你是否要删除,会直接给删除。如下:
- *通配符命令,此时是表示当前的所有文件,也就是使用通配符也就将当前的所有文件都给选中了也就是在删除后面加此通配符就是将当前所有的文件都删除如下:
上图表示把当前中的所有普通文件都删除,没有删除目录文件
上图就将目录文件都删除了。
四.拷贝命令
- cp test1 . .,此命令将test1文件拷贝到上级目录中,如图:
上图就将test.cpp文件拷贝到上层文件。
还有两个拷贝命令分别为:cp -r dir1 …和cp -rf dir1 …,这两个命令也可以将文件拷贝到上层目录如图:
五.打印命令
- cat test.c,当前命令是将test.c的内容打印出来,cat -n test.c 是表示把当前文件的内容即行数打印出来,具体如下图:
- tac test.c ,此命令将test.c文件中的内容倒着打印出来如下图:
六.其他的重要命令
-
查找命令:
find ~ -name test.c,该命令是找到名字为test.txt的所有路径,可以用来找任意文件的所有路径。如下:
-
more命令与less命令
两个命令和cat命令差不多,都是将文件中的内容打印出来如下图:
-
echo命令
echo “hello world”,该命令将hello world语句输出。
echo “hello linux” > test.txt,此命令将hello linux语句写到test.txt文件中,但是此语句每写入一次都会对test.txt文件中的内容进行一次更新如下图:
echo “hello world” >> test.txt,。此命令也是将hello world写入test.txt中,但是与>不同的是>>不会对test.txt中的内容进行更新,直接写在test.txt中的内容的后面如下图:
-
head命令和tail命令
head -n test.txt,该命令把当前文件中内容的前n行进行输出如下图:
tail -n test.txt,该命令把当前文件中内容的后n行进行输出如下图:
如果想要取第3行到第5行呢?
-
date命令
date + %Y/%m/%d ,此命令显示当前时间的年月日如下图:
date +%Y/%m/%d:%H:%M:%S,此命令显示当前时间的年月日小时分钟秒数如下图:
date +%s,表示当前的时间戳如下图:
-
cd命令
cd code,进入code目录
cd -,回到之前的目录
cd …,跳到上一级目录
cd ~,直接回到主目录
如下图:
-
grep命令
grep ‘h’ test.c,该命令表示在test.c文件中找到含有h字符的所有数据:
grep -n ‘h’ test.c,该命令表示加上找到h字符并显示其所在的行数如下图:
用户转换与压缩命令即linux热键
一. 用户转换命令
su -命令,该命令是用来转换用户的,输入此命令之后输入你想要转换的用户的密码如下图:
二.压缩,解压命令
- zip temp.zip ./*,该命令将当前目录下的所有文件都压缩到temp.zip中,此时会创建一个zip文件如下图:
- zip -r temp.zip ./* ,该命令将当前目录的所有文件都通过递归的方式进行压缩如下图:
- unzip temp.zip ,该命令是将当前文件进行解压如下图:
unzip temp.zip -d code,此代码是将temp.zip解压到code目录中如下图:
- tar czf temp.tgz *,该命令是对当前目录中的文件进行压缩,此时会在当前目录中生成一个temp.tgz文件如下图:
- tar xzf temp.tgz ,该命令是对当前压缩文件进行解压,如下图:
- tar xzf temp.tgz -C code,此代码是将temp.tgz文件解压到code目录中如下图:
- tar tf temp.tgz ,此时命令就是对当前的压缩包不解压,直接看压缩包中的内容如下图:
三.Linux热键
- ctrl + d,该命令表示从root用户中退出出来如下图:
- ctrl + c,该命令表示退出一些错误命令,或者退出一些循环的文件如下图:
- 上翻和下翻。
- TAB自动补齐,此时当你输入一个存在的文件时,只需要输入一部分,按两下TAB键就可以自动补齐剩下的部分。
- ctrl + r,该命令表示可以在之前写过的命令中查找想要的命令。
文件的权限
一.用户权限的增删,用户的更改
由上图可以得左边的十个字符表示的就是文件的权限,具体如下:
上图中的这些字符也就是格式中的第一个字符表示的时文件的类型,其中d表示的是目录类型,-表示的是普通文件类型。
在每个文件中分为三种权限用户,分别为拥有者,所属组和other,如上图中的拥有者和所属组都为mercy,other就代表和这两个不相同的用户。而十个字符中的后九个字符就分别代表拥有者,所属组,other的权限,以三个为一组如下图:
且文件的权限有三种,读权限,写权限和可执行权限。如上dir1目录的拥有者具有读权限,写权限和可执行权限,而其other用户具有读权限和可执行权限。
那么如何改变用户的权限呢?
chmod命令,该命令是用来将增减文件的权限的,如想要给目录的拥有者增加读命令则为:
chmod u+r dir1 如下图:
其他用户增加和减少权限也是这样。
那么可以改变用户的权限了,那么如何改变用户呢?
chown , chgrp,这两个关键词分别是改变用户的拥有者和所属组。如下图:
此处的sudo是为了提升权限。
二.umask关键词
在linux中可以将这三种权限看作是三个字节,即为000 ~ 111八种情况,而目录文件的默认权限为777,转换为rwx也就是rwx,可读可写可执行,而普通文件的默认权限为666,转换位rwx也就是rw-,可读可写不可执行,而控制最终权限的就是关键词umask,在默认情况下umask为002,而命令umask 006可以将umask关键词转换为006,而此时其最终权限就会发生改变,而其间的关系为: 最终权限 = 默认权限 & (~umask) 如下图:
上图中umask为006,此时当把umask改为002的话如下图:
此时umask的改变就导致了最终权限的改变。
三.粘滞位
chmod +t test 给test加上粘滞位
如果目录本身就是你自己,那么还是可以删除的
1.管理员可以删除(也就是root)可以删除带粘滞位的目录
2.该目录的所有者可以删除
3.该文件的所有者删除