Linux基础操作

目录

1:XShell 下的复制粘贴

2:全屏

3:进入自己的用户

4:用root账户,创建普通用户

5:输错时可以ctrl c换行  指令可以携带选项  文件属性​编辑​编辑

6:文件介绍和类型

7:ls指令(ls /home查看自己的创建用户)

8:pwd命令

9:cd 指令

10:touch指令

11:mkdir指令(重要)

12:tree的创建

13:.rmdir指令 && rm 指令(重要)

14:不是目录不能cd进入

15:要删除普通文件,也必须在其目录之下

16:man指令(重要)

17:echo​编辑

18:cp

19:mv指令(重要)

20:指令就是可执行程序(本质),指令本质是文件

21:which ll/ls可以查看指令的路径

22:alias重命名(指令操作)

23:Linux下一切皆是文件!

24:echo "hello" > out.txt(>是输出重定向,>>追加重定向)

25:cat(<输入重定向)

26:more

27:less指令​编辑

28:head指令

29:tail指令

27:普通用户在/home

28:相对路径及其问题

29:绝对路径

30:linux的目录结构

31:文件唯一性的原因

32:-r有递归属性

33:时间相关的指令

34:cal

35:find指令:(灰常重要) -name

36:grep指令

37:打包和压缩

​编辑

38:zip/unzip指令

39:tar指令(重要):打包/解包,不打开它,直接看内容

40:bc指令

41:uname –r指令

42:.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

43:关机语法: shutdown

44:history找历史命令;记录最新1000行

45:nano test.c,可以进去写代码

46:shell命令以及运行原理

47:Linux权限的概念su

48:Linux权限管理

49:文件类型

​编辑

50:基本权限(可读可写...)​编辑

51:文件访问权限的相关设置方法chmod

52:chown(把文件给别人)和chgrp(所属组)

53:gcc test.txt,编译不过,gcc是一款编译器,软件,不代表其他linux系统上运行的其他软件不予要后缀

54:普通用户的命令提示符"$",这超级用户"#"

55:是拥有者就看拥有者的三个权限,是什么身份看什么权限

56:umask

57:在我的家目录里创建的文件,其他人看不到,想爱共享文件,不能在任何一人的节目录下。

58:文件的删除,跟文件的本身属性无关,只跟他所在的目录有关

59:粘滞位

60:file指令

61 make clean&&make,等价于两个都执行了,也等价于make clean;make

​编辑


1:XShell 下的复制粘贴

复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)

粘贴: shift + insert

ctrl + c / ctrl + v 是不行的.

clear清理屏幕

批量化注释

首先按ctrl v,然后按hjk,上下移动,然后再输入大写的i,也就是shift+i,在输入//,在按Esc

批量化取消注释

首先按ctrl v,然后按hjk,上下移动,选中区域后直接d

2:全屏

3:进入自己的用户

ssh root@(公网ip)

普通用户进入也是ssh ljw@公网ip

whoami看是哪个用户

4:用root账户,创建普通用户

adduser (名字),记得中间有空格

例如:adduser ljw

设置密码

passwd ljw,回车后输入新密码就可以,密码不回显,两次输入

密码忘了,passwd ljw,重置即可

彻底删除用户,userdel -r ljw,回车即可(空格别忘了)(在这个用户时不可以删除)

5:输错时可以ctrl c换行  指令可以携带选项  文件属性

6:文件介绍和类型

d是一个目录

-:文件是一个普通的文件

在linux中,以.开头的文件,为隐藏文件

..表示上级路径

cd ..表示退回到上级路径

.表示当前路径

linux路径分隔符:/

7:ls指令(ls /home查看自己的创建用户)

语法: ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

注意:ls显示文件名。ls -l(记得有空格),可以显示更多文件属性和信息,可以简写成LL(小写)(这里写成大写,因为小写像1)

LL -La  //  LL -aL,顺序可以颠倒,显示出所有的文件,包括隐藏文件

ls -alF,在每个文件名后附上一个字符,说明该文件的类型,"*"表示可执行的普通文件

举个例子:先touch几个文件(test.c  test1.c  test.txt)

ls *.会显示.后的所有文件(test.c  test1.c  test.txt)

ls *.c会显示(test.c  test1.c)

ls test.*会显示(test.c  test.txt)

rm * -rf,全部删除了

8:pwd命令

语法: pwd

功能:显示用户当前所在的目录

9:cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。

举例:

注意:cd 一个目录名,进入这个目录,pwd可以查看到

cd ..表示退回到上级路径

10:touch指令

语法:touch [选项]... 文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

注意:mkdir ljw,建立一个文件夹(目录),touch是创建一个普通文件

touch后也可以连续创建多个怕普通文件

> newfile.txt,可以代替touch创建文件

11:mkdir指令(重要)

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:

举例:

注意:mkdir ljw,建立一个文件夹(目录),touch是创建一个普通文件

mkdir d1,cd d1,mkdir d2,cd d2,mkdir d3,pwd后会得到d1/d2/d3

mkdir -p dd1/dd2/dd3/dd4,可以直接创建一串路径

12:tree的创建

yum install -y tree下载树

tree .  可以看树状目录

tree ..  可以看上级树目录

13:.rmdir指令 && rm 指令(重要)

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

rm 

常用选项:

注意:rmdir dirl,可以直接删除空目录,切记在d1中没法删除d1,要在它的上级路径

rm dirl,可以直接删除普通文件。y表示yes,n表示no

rm -f dirl,表示强制删除,不用回答y,n。

rm dirl,不可以直接删除目录,因为目录是递归的样子,要写成rm -r dirl

rm -rf dirl直接把递归的全部删掉,

touch创建一个普通文件,mkdir是目录

要删除普通文件,也必须在其目录之下

不是目录不能cd进入

举个例子:先touch几个文件(test.c  test1.c  test.txt)

ls *.会显示.后的所有文件(test.c  test1.c  test.txt)

ls *.c会显示(test.c  test1.c)

ls test.*会显示(test.c  test.txt)

rm * -rf,全部删除了

rm xxx -rf / rm -rf xxx,删除xxx文件

rm -i xxx,问是否删除(访问作用)

14:不是目录不能cd进入

15:要删除普通文件,也必须在其目录之下

16:man指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是

man 语法: man [选项] 命令

常用选项

man的安装手册:yum install -y man-pages

在Linux中,man命令是一个非常有用的工具,它允许用户访问系统上的手册页(manual pages),这些手册页包含了关于命令、系统调用、库函数等的详细信息和用法说明。man命令后面跟的数字编号代表不同的手册部分(section),其中1号手册、2号手册和3号手册分别对应以下内容:

1号手册(man 1):

内容:用户命令(User Commands)。这部分包含了大多数用户可以直接在命令行界面(CLI)上执行的命令的手册页。例如,ls、cp、mv等命令的手册页都可以在1号手册中找到。
用途:主要用于查找和学习如何在命令行界面中使用各种命令。

2号手册(man 2):

内容:系统调用(System Calls)。系统调用是操作系统提供给程序的一组底层接口,允许程序与操作系统内核进行交互。这部分手册页详细描述了这些系统调用的功能、参数、返回值等信息。例如,open、read、write等系统调用的手册页都可以在2号手册中找到。
用途:主要用于程序员和系统管理员,帮助他们了解和使用系统调用,进行底层编程和系统管理。

3号手册(man 3):

内容:库函数(Library Functions)。这部分手册页包含了各种C语言库函数(如标准C库函数)的说明。库函数是预编译的代码集合,提供了一系列常用的功能,如字符串处理、数学计算等。程序员在编写程序时经常需要调用这些库函数。
用途:主要用于C语言程序员,帮助他们了解和使用库函数,提高编程效率。

总的来说,man命令的1号手册、2号手册和3号手册分别对应用户命令、系统调用和库函数的手册页,它们为Linux用户、程序员和系统管理员提供了丰富的参考信息和帮助。通过使用man命令,用户可以快速查找和学习如何在Linux系统中使用各种命令、进行系统编程和管理。

17:echo

echo "hello",回车后会在显示器显示

echo "hello" > mytest.txt,1、没有在显示器显示。2、这个数据被写入了文件中

cat mytest.txt,打印文件内容

echo 后默认是字符串,回车后显示出来

cat是文件,显示文件内容

ll out.txt,是显示文件的属性

查看退出码

18:cp

常用选项:

注意:cp mytest.txt mytest_backup.txt,把mytest.txt拷贝进mytest_backup.txt

(当前路径)如果mytest_backup.txt没创建,那么拷贝完成后目录中就会多一个文件mytest_backup.txt。

拷贝到上级路径

cp mytest.txt ../mytest_backup.txt,不在同一个目录中,文件名可以相同

拷贝目录中所有的内容

cp -r lesson3 lesson3_backup,-r有递归属性

cp -rf mytest.c mytest_backup.c,强制拷贝,不用回答y/n,换成-if,会问一下

将上级目录中的多个子进程中的makefile文件拷贝到当前目录

19:mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

语法: mv [选项] 源文件或目录 目标文件或目录

功能:

1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。

2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。

常用选项:

举例:

mv(普通文件)

mv mytest_p my my,把mytest_p改成my(重命名)。

剪切

mv mytest_p ..,弄到了上一级

mv ../mytext.txt .,把上级目录中mytext.txt弄到当前目录

mv mytest.txt ../..,代表把mytest.txt剪切到这个目录(这个目录是/后的..)下,名字和原文件保持一致

mv hlee.txt ../a.txt,在上级路径剪切并重命名(剪切到上级目录)

mv a b,等价于mv a ./b,在当前路径剪切并且重命名

在目录上,mv与普通文件相似

mv dir ../newdir,若newdir已经存在,就是将dir放在/newdir/dir

20:指令就是可执行程序(本质),指令本质是文件

21:which ll/ls可以查看指令的路径

 ls /home,可以查看root下的账户

22:alias重命名(指令操作)

alias108='ls -l -i';,然后输入108就会有ls -l -i的效果

想删掉,alias 108=' ';

23:Linux下一切皆是文件!

24:echo "hello" > out.txt(>是输出重定向,>>追加重定向)

重定向:相当于把本来应该写到显示器文件的内容写到了我们的普通的磁盘文件

>输出重定向,echo "good" > out.txt,再echo "wo" > out.txt,cat out.txt后会发现是“wo”,被覆盖写入了,实现了(清空文件,写入新内容)
 

什么不写 > out.txt,文件内容直接清空了。

所以就需要追加从定向了,echo "kkkk" >> out.txt,就会在原来文件的后面追加内容

echo自带换行,不想自带换行用printf "hello" >> out.txt

25:cat(<输入重定向)

语法:cat [选项][文件]

功能: 查看目标文件的内容

常用选项:

注意:输入重定向

cat < out.txt(从文件中读取)

> newfile.txt,可以代替touch创建文件

-sb,就是非空的带上编号,对行空行变成一行

cat不适合看大文本,用more

26:more

语法:more [选项][文件]

功能:more命令,功能类似 cat

常用选项:

举例:

注意:

Q是退出,回车向下翻看

more -500 text.txt,给显示500行,只能向下翻看,输入/900可以搜索900行

less可以上下翻,-500,显示500,/或?都查找缺

27:less指令

语法: less [参数] 文件

功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。

选项:

less可以上下翻,-500,显示500,/或?都查找确切的行数

28:head指令

ead 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 

语法: head [参数]... [文件]... 

功能:

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 

选项:

注意:head -10 log.txt,c从头显示10行,

tail -5 log.txt,从尾开始

举个例子:拿到1000-1020行

先head -1020 log.txt > temp.txt,把从头开始到1200行放进一个文件,再tail -20 temp.txt

或者用head -1020 log.txt | tail -20,( | 叫做管道),不用创建临时文件,意思是:先把head -1020 log.txt的结果放入管道,tail -20再在管道里操作,拿出来20行,管道用来传输数据,有输入输出。

管道也支持流水线工作:cat log.txt | head -50 | tail -20,就可以取到log.txt中30行到50行的内容了,wc -L(实际是小写L),是统计文本行数,cat log.txt | head -50 | tail -20 | wc -L,会得到20行

29:tail指令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail - f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

语法: tail[必要参数][选择参数][文件] 

功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:

举个例子:拿到1000-1200行

先head -1200 log.txt > temp.txt,把从头开始到1200行放进一个文件,再tail -20 temp.txt

或者用head -1020 log.txt | tail -20,( | 叫做管道),不用创建临时文件,意思是:先把head -1020 log.txt的结果放入管道,tail -20再在管道里操作,拿出来20行,管道用来传输数据,有输入输出。

管道也支持流水线工作:cat log.txt | head -50 | tail -20,就可以取到log.txt中30行到50行的内容了,wc -L(实际是小写L),是统计文本行数,cat log.txt | head -50 | tail -20 | wc -L,会得到20行

27:普通用户在/home

28:相对路径及其问题

我们以自己当前所在的路径为其实参照位置,来进行文件的定位。问题:所处路径的改变,可能相对路径就失效了。

怎么用:1、绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件使用

2、一般命令行输入,比较常用的相对路径

29:绝对路径

cd /root/ljw/


30:linux的目录结构

31:文件唯一性的原因

32:-r有递归属性

33:时间相关的指令

date显示

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [OPTION]... [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

2.在设定时间方面

3.时间戳

时间->时间戳:date +%s

时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

注意:date   +%s-%m-%d_%H:%M:%S,不要用空格隔开,分隔符自己定可以使-,也可以是_。

date +%s,查看时间戳,时间戳->时间:date -d@1508749502

cal是日历,acl 2023,把全年的日期打印出来

34:cal

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳 历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式: cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

举例:

35:find指令:(灰常重要) -name

语法: find pathname -options

功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)

常用选项:

注意:find ~ -name test.c,在根目录(~)查找所有的test.c文件。

find ~ -name *.c,全部的.c文件

find /user/ -name *.c,在user这个目录下递归查找

find /home/Ljw/..  ,在/home下的可以随便找,前缀不是home不让

find:可以在指定的路径下进行文件的搜索(真的在磁盘中找)

36:grep指令

语法: grep [选项] 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

常用选项:

注意:grep '999' log.txt,空格后也可以加多个文件,可以在log.txt中找到所有带9的。

grep -v '999' log.txt,把不含999的打印出来

grep -n ..  ,带行号,' ',什么都可以匹配到

grep -i ...忽略大小写

cat log.txt | grep ljw

grep -Rn 'int main()' /home/ljw,这个是目录,所以要加个R,递归到每个文件找

37:打包和压缩

38:zip/unzip指令

以root方式登录,su 或 su -,yum install -y zip unzip

语法: zip 压缩文件.zip 目录或文件

功能: 将目录或文件压缩成zip格式

常用选项:

举例:

注意:zip -r d1.zip d1,递归样子的目录需要-r,(将d1压解丞d1.zip(压缩包)),

unzip d1.zip,解压

将目录d1和文件log.txt,都打包压缩,zip -r d1.zip d1 log.txt,把d1,log.txt,都放进d1.zip。

解压到指定目录:假设是弄到test,unzip d1.zip -d test。

39:tar指令(重要):打包/解包,不打开它,直接看内容

tar [-cxtzjvf] 文件与目录 .... 参数:

案例:

范例一:将整个 /etc 目录下的文件全部打包成为 `/tmp/etc.tar`

[root@linux ~]# tar -cvf /tmp/etc.tar /etc仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc 打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc 打包后,以 bzip2 压缩

特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

上述指令在执行的时候,会显示一个警告讯息:

『`tar: Removing leading `/" from member names`』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[root@linux ~]# cd /tmp[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!

[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc

这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份

[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -cvf - /etc | tar -xvf -

这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!

要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~这分别代表 standard output, standard input 与管线命令啦!

注意:tar --version,装上(指令有点多)

tar czf xxx,打包压缩

tar tzf xxx.tgz,预览

tar xzf xxx.tgz,解压解包

tar xzf code.tgz -c ..,指定的路径下

40:bc指令

bc是计算器

bc命令可以很方便的进行浮点运算

echo '12+89/10-100' | bc,再回车就会出结果

41:uname –r指令

语法:uname [选项] 

功能: uname用来获取电脑和操作系统的相关信息。

补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

uname -r ,查体系结构,df -h,差磁盘

42:.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d

Tab可以自动补齐,ctrl r是历史命令(上下键也可以看历史指令),找不到可以按ctrl c结束

ctrl d,退出xshell

43:关机语法: shutdown

44:history找历史命令;记录最新1000行

45:nano test.c,可以进去写代码

46:shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运 行出结果,通过shell解析给用户。

47:Linux权限的概念su

Linux下有两种用户:超级用户(root)、普通用户。

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的口令。

注意:身份转换,只切换身份,su回车后,password里要输入root的密码,ctrl d/exit可以退出su进入的用户,su -就是直接登录root用户了

su Ljw的话,就要输入Ljw的密码,root变为其他用户不用密码

如果暂时想要对一条指令进行提权,sudo 指令即可(要输入自己的密码,还要在白名单里)

48:Linux权限管理

01.文件访问者的分类(人)

注意:前三位是文件所有者的权限,中间是所属用户的权限,后面是其他用户权限

第一个读第二个写第三个执行,先判断是拥有者还是other,还是所属组,再看三三为一组的一个组,root不受影响

49:文件类型

注意:d目录文件,-:普通文件,文件,可执行程序,库基本属于普通文件,b磁盘文件,c:键盘、显示器文件等等,p用来通信的

50:基本权限(可读可写...)

注意:

d rwxrwxr-x .......empty,

- rw-rw-r--    ........test.c,r可读,w可写,x可执行,-对应位置的权限位置,没有权限

目录的rwx,例如dir,没有r,但仍可以进入,但没法查看这个dir下面的文件列表

51:文件访问权限的相关设置方法chmod

 功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

注意:chmod(root和拥有者可以改权限)

chomd u-rwx,g+rwx,o+rw test.txt,一次性 添加或者减少权限

chomd a+rwx test.txt,所有人都加上rwx权限。

八进制的方法 111->7,rwx

                       101->5,r-x

chmod 777 test.txt,-rwxrwxrwx

52:chown(把文件给别人)和chgrp(所属组)

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

实例:

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

实例:chgrp users /abc/f2

umask 功能:

查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到

umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用 户默认为0002。

实例:

注意:强制给用root

chown ljw test.txt,就把拥有者改成ljw

chgrp ljw test.txt,把所属组给了

chown whb:kkk test.txt,直接把两个全改了

53:gcc test.txt,编译不过,gcc是一款编译器,软件,不代表其他linux系统上运行的其他软件不予要后缀

54:普通用户的命令提示符"$",这超级用户"#"

55:是拥有者就看拥有者的三个权限,是什么身份看什么权限

56:umask

 umask 功能:

查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到

umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用 户默认为0002。

实例:

57:在我的家目录里创建的文件,其他人看不到,想爱共享文件,不能在任何一人的节目录下。

58:文件的删除,跟文件的本身属性无关,只跟他所在的目录有关

59:粘滞位

给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增删查改,只允许文件拥有者或root能删这个文件,其他人一概不允许,t是一种特殊的x权限

chmod o+t 文件目录

60:file指令

使用 sudo分配权限

(1)修改/etc/sudoers 文件分配文件

格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令

(2)使用 sudo 调用授权的命令

实例:

61:目录的权限

于是, 问题来了~~

换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.

这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉? 我们用下面的过程印证一下.

61 make clean&&make,等价于两个都执行了,也等价于make clean;make

  • 70
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值