Linux学习日志
1、常见基本命令
1.1、基本属性
十个字母 ;1 类型
1.1.1、看懂文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:
[root@aubin home]# ls -ll
总用量 4
drwx------. 16 aubin aubin 4096 3月 22 18:20 aubin
drwxr-xr-x. 2 root root 35 3月 22 18:31 test
drwxr-xr-x. 2 root root 6 3月 22 18:33 test2
drwxr-xr-x. 2 root root 22 3月 22 18:33 test4
实例中,root文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权
限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中,test 文件是一个目录文件,属主和属组都为 root。
1.1.2、修改文件属性
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod:更改文件9个属性(必须要掌握)
3、chmod:更改文件9个属性(必须要掌握)
你没有权限操作此文件!
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字(常用的是数字),一种是符号。
Linux文件属性有两种设置方法,一种是数字(常用的是数字),一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
可读可写不可执行 rw- 6
可读可写不课执行 rwx 7
chomd 777 文件赋予所有用户可读可执行!
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—]分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
chmod 770 filename
1.2.3、文件内容查看
我们会经常使用到文件查看!
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat名
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
[root@aubin test]# echo 'chen' >> test.txt
[root@aubin test]# cat test.txt
chen
[root@aubin test]# echo 'JM' >> test.txt
[root@aubin test]# cat test.txt
chen
JM
[root@aubin test]# tac test.txt
JM
chen
nl 显示的时候,顺道输出行号! 看代码的时候,希望显示行号! 常用
[root@aubin test]# nl test.txt
1 chen
2 JM
more 一页一页的显示文件内容,带余下内容的(空格代表翻页,enter 代表向下看一行, :f 行号)
less 与 more 类似,但是比 more 更好的是,他可以往前翻页! (空格下翻页,pageDown,pageUp键代表翻动页面!退出 q 命令,查找字符串 /要查询的字符向下查询,向上查询使用?要查询的字符串,n 继续搜寻下一个,N 上寻找!)
head 只看头几行 通过 -n 参数来控制显示几行!
[root@aubin test]# head -n 1 test.txt
chen
tail 只看尾巴几行 -n 参数 要查看几行!
[root@aubin test]# tail -n 1 test.txt
JM
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
网络配置目录:cd /etc/sysconfig/network-scripts
ifconfig 命令查看网络配置!
1.2.4、Linux 链接
拓展:Linux 链接的概念(了解即可!)
Linux的链接分为两种:硬链接、软链接!
硬链接:A—B,假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!
软链接: 类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!
创建连接 ln 命令!
touch 命令创建文件!
echo 输入字符串,也可以输入到文件中!
1.3、账号管理
1.3.1、简介
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除与修改。
用户口令的管理。
用户组的管理。
1.3.2、用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。
属主,属组
1.3.3、添加用户useradd
useradd -选项 用户名
-m: 自动创建这个用户的主目录 /home/qinjiang
-G : 给用户分配组!
[root@aubin test]# useradd -m cjm1
理解一下本质:Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了!
/etc/passwd
1.3.4、删除用户 userdel
userdel -r qinjiang 删除用户的时候将他的目录页一并删掉!
[root@aubin test]# userdel -r cjm1
1.3.5、修改用户 usermod
修改用户 usermod 对应修改的内容 修改那个用户
[root@aubin home]# usermod -d /home/233 qinjiang
修改完毕之后查看配置文件即可!
1.3.6、切换用户
root用户
1.切换用户的命令为:su username 【username是你的用户名】
2.从普通用户切换到root用户,还可以使用命令:sudo su
3.在终端输入 exit 或 logout 或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
[root@aubin test]# su aubin
[aubin@aubin test]$ exit
exit
[root@aubin test]#
4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加 - ,例如:【su - root】
$表示普通用户
表示超级用户,也就是root用户
1.3.7、用户的密码设置
我们一般通过root创建用户的时候!要配置密码!
Linux上输入密码是不会显示的,你正常输入就可以了,并不是系统的问题!
如果是超级用户的话:
passwd username:
new password:
re password:
如果是普通用户:
passwd
(current) UNIX password: # 输当前用用户密码
new password: # 密码不能太过于简单!
re password:
1.3.8、锁定账户
root,比如张三辞职了!冻结这个账号,一旦冻结,这个人就登录不上系统了!
passwd -l aubin # 锁定之后这个用户就不能登录了!
passwd -d aubin # 没有密码也不能登录!