首页 > 代码库 > linux基础必备
linux基础必备
*10.1*
[2.vim 用法 ]
1.命令模式
下临时设定方式
:set nu #行号添加
:set nonu #取消行号
:set mouse=a #添加鼠标选择
:set cursorline #行线显示
下永久设定方式
vim /etc/vimrc #此文件为vim的配置文件,在此文件最后加入以上参数,且家到文件中的参数不需要:
2.vim 命令模式下关键字搜索
/关键字
n向下匹配
N向上匹配
3.vim命令模式下字符的管理
*字符的复制
yl #复制一个字母
y3l #复制三个字母
yw #复制一个单词
y3w #复制三个单词
yy #复制一行
y3y #复制三行
P #复制完成后按“p”粘贴
*字符的删除
dl #删除一个字母
d3l #删除三个字母
dw #删除一个单词
d3w #删除三个单词
dd #删除一行
d3d #删除三行
*字符的剪切
cl #剪切一个字母
c3l #剪切三个字母
cw #剪切一个单词
c3w #剪切三个单词
cc #剪切一行
c3c #剪切三行
esc-->p#剪切过后会进入插入模式,在执行粘贴动作时一定要退出插入模式
4.vim 的可视化模式
* 在命令模式下按“ctrl+v”进入到可视模式
* 在可视模式下可以区域选择字符
* 可视模式下批量添加字符
--> ctrl+v 选中要加入字符所在列
--> 按“I”进入插入模式,写入要加入的字符
--> 按esc结束
5.vim 批量修改字符
:%s/原有字符/替换后字符 #只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g #替换所有
:%s/\t//g #把全文的tab键去掉,\t表示tab键
:%s/^\ *//g #把全文行首的空格去掉,“^\ *”表示行首的空格
:%s/^\#\ */#/g #把全文#后的空格去掉
cp /etc/kdump.conf /root/Desktop/ ---->vim kdump.conf
6.vim 分屏功能
ctrl+w s #上下分屏
ctrl+w v #左右分屏
ctrl+w c #关闭光标所在屏幕
ctrl+w 上下左右 #光标移动到指定屏幕
7.vim 光标移动
在命令模式下
:数字 #移动到指定的行
G #文件最后一行
gg #文件第一行
在插入模式下
i #光标所在位置插入
I #光标所在行行首
a #光标所在字符的下一个位置
A #光标所在行行尾
o #光标所在行的下一行
O #光标所在行的上一行
s #删除光标所在字符插入
S #删除光标所在行插入
8.vim 退出模式
:q #当用vim打开文件但没有对字符作任何操作时可直接退出
:q! #当用vim打开文件并对字符作操作,放弃所以操作退出
:wq #保存退出
:wq! #强行保存退出
9.vim手册
vimtutor #vim的手册
:q #退出vimtutor
[3. gedit]
ctrl n #在gedit中打开一个新的tab
ctrl s #保存文件
ctrl o #打开文件
ctrl x #剪切字符
ctrl v #粘贴字符
ctrl c #复制字符
yelp help:gedit #gedit的图形手册
{第五单元}
[1.用户理解]
用户就是系统使用者的身份
在系统中用户存储为若干串字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd ##用户信息
用户:密码:uid:gid: 说明:家目录:用户使用的shell
/etc/shadow ##用户认证信息
用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ##组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ##组认证信息
/home/username ##用户家目录
/etc/skel/.* ##用户骨架文件
[2.用户管理]
1.用户建立
useradd 参数 用户名字
-u #指定用户uid
-g #指定用户初始组信息,这个组必须已经存在
-G #指定附加组,这个组必须存在
-c #用户说明
-d #用户家目录
-s #用户使用的shell,/etc/shells记录了用户能使用shell的名字
2.用户删除
userdel -r 用户名称 #-r表示删除用户信息及用户的系统配置
3.组的建立
groupadd -g 组名称 #建立组
groupdel 组名字 #删除组
作以上实验的监控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo ===;ls -l /home;echo ===;ls -l /mnt‘
4.用户id信息查看
id 参数 用户名
-u #用户uid
-g #用户初始组id
-G #用户所有所在组id
-n #显示名称而不是id数字
-a #显示所有信息
5.用户信息更改
usermod 参数 用户
-l #更改用户名称
-u #更改uid
-g #更改gid
-G #更改附加组
-aG #添加附加组
-c #更改说明
-d #更改家目录指定
-md #更改家目录指定及家目录名称
-s #更改shell
-L #冻结帐号
-U #解锁
[3.用户权力下放]
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
2.下放权力的方法
*超级用户执行visudo进入编辑/etc/sudoers模式
*格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
student Desktop17=(root) /usr/bin/useradd
3.执行下放权限命令
sudo 命令 #如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
student Desktop=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
[4.用户认证信息的控制]
chage 参数 用户
-d #用户密码组最后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m #最短有效期
-M #最长有效期
-W #警告期
-I #用户非活跃天数
-E #账户到期日格式 -E “YYYY-MM-DD”
*10.2*
{文件权限}
[1.文件属性的查看]
ls -l filename
-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename
1 2 3 4 5 6 7 8
1.“-”:文件类型
- #普通文件
d #目录
c #字符设备
s #套接字
p #管道
b #快设备
l #连接
2.“rw-|r--|r--”:文件读取权限
rw-|r--|r--
@ # $
@所有人的权限
#所有组的权限
$其他人的权限
3.“1”:文件内容被记录的次数
4.“root”:文件所有人
5.“root”:文件所有组
6.“46”:文件内容的大小
7.“Oct 1 05:03”:文件最后一次被修改的时间
8.“filename”:文件名字
[2.文件所有人所有组的管理]
chown username file|dir #更改文件所有人
chown username:groupname file|dir #更改文件所有人所有组
chown -R username dir #更改目录本身及里面所有内容的所有人
chown -R groupname dir #更改目录本身及理念所有内容的所有组
监控命令:watch -n l ls -lR /mnt
[3.文件普通权限]
rw-|r--|r--
u g o
u:文件所有人对文件可以读写
g:文件组成员对文件可读
o:其他人对文件可读
u优先匹配,g次优先,o当u,g不匹配时匹配
1 "r" 对文件:可查看文件中的字符
对目录:可查看目录中文件的信息
2 "w" 对文件:可更改文件中的字符
对目录:可在目录中添加删除文件
3 "x" 对文件:可运行文件内记录的程序动作
对目录:可以进入目录中
4.字符方式修改该文件权限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
chmod u-x file1 #file1拥有者去掉x权限
chmod g+w file1 #fule1拥有组添加w权限
chmod u-x,g+w file1 #file1拥有者去掉x权限,fule1拥有组添加w权限
chmod ugo-r file1 #file1的用户,组,其他人去掉r权限
chomd ug+x,o-r file1 #file1用户和组添加x权限,其他人去掉r权限
5.数字方式修改该文件权限
chmod 修改后权限值 file
chmod 777 file
7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x
** r=4 w=2 x=1 **
rw-|r--|r--
u g o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件权限表示为644
[4.系统默认权限的设定]
设定方式
umask #查看系统保留权限默认为022
umask 077 #修改该系统保留权限为077,此设定为临时设定,只在当前shell中生效
永久设定方式:
vim /etc/bashrc #shell
70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
71 umask 002 #普通用户umask
72 else
73 umask 077 #超级用户umask
74 fi
vim /etc/profile #系统
59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002 #
61 else
62 umask 077
63 fi
以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效
[5.特殊权限]
1.suid #冒险位
只针对二进制可执行文件
文件内记录的程序产生的进程的所有人为文件所有人
和进程发起人身份无关
设定方式:chmod u+s file
suid=4
chmod 4xxx file
2.sgid #粘制位
对文件:只针对二进制可执行文件,任何人运行二进制文件
程序时程序产生的所有组都是文件的所有组,和程
序发起人组的身份无关
对目录:当目录有sgid权限后,目录中新建的所有文件的
所有组都自动归属到目录的所有组之中,和文件建
立者所在的组无关
设定方式:chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
3.sticky #强制位
t权限:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除
设定方式:chmod o+s directory
t=1
chmod 777 directory
本文出自 “12106768” 博客,请务必保留此出处http://12116768.blog.51cto.com/12106768/1860264
linux基础必备