首页 > 代码库 > 入门级笔记二
入门级笔记二
##############
####2.vim#####
##############
######1.vim 命令模式####
在vim的命令模式下可以配置vim的工作方式
:set nu ##行号添加
:set nonu ##取消行号
:set mouse=a ##添加鼠标选择
:set cursorline ##行线显示
以上设定都是临时的
永久的设定方式
vim/etc/vimrc ##此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的参数不需要":"
######2.vim命令模式下关键字搜索###
/关键字
n向下匹配
N向上匹配
######3.vim命令模式下字符的管理####
1.字符的复制
yl ##复制一个字母
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制一行
y3y ##复制3行
p ##复制完成后按“p”粘贴
2.字符的删除
dl ##删除一个字母
d3l ##删除3个字母
dw ##删除一个单词
d3w ##删除3个单词
dd ##删除一行
d3d ##删除3行
3.字符的剪切
cl ##剪切一个字母
c3l ##剪切3个字母
cw ##剪切一个单词
c3w ##剪切3个单词
cc ##剪切一行
c3c ##剪切3行
esc--> p ##剪切过后会进入插入模式,在执行粘贴动作时一定要退出插入模式
####4.vim的可视化模式####
在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符
可视模式下批量添加字符
*>> ctrl+v 选中要加入字符所在列
*>> 按“I”进入插入模式,写入要加入的字符
*>>按esc
####5.批量修改字符#####
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符 ##替换所有
:%s/\t//g ##把全文的tab键替去掉
:%s/^\(空格)*//g ##把全文行首的空格去掉
:%s/^\#\(空格)*/#/g ##把全文#后的空格去掉
####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 ##复制字符
ctrl+w ##关闭文件
yelp help:gedit ##gedit的图形手册
######end####
###############
###第五单元#####
###############
################
###1.用户理解 ###
################
用户就是系统使用者的身份
在系统中用户存储为若干个字符+如干戈系统配置文件
用户涉及到的系统配置文件
/etc/passwd
用户:密码:uid:gid:说明:家目录:用户使用shell
/etc/shadow
用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ##组信息
/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数字 用法:id -gn 用户
-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模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
3.执行下放权限命令
sudo 命令 ##如果第一次sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd; /usr/sbin/userdel
表示用户调用sudo命令的时候不需要自己密码
#########################
###4.用户认证信息的控制#####
#########################
chage 参数 用户
-d ##用户密码最后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E “YYYY-MM-DD”
#############第六单元#############
#####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 filename ##更改文件所有人
chown username:groupname file | dir ##更改所有人所有组
chown -R username dir ##更改目录本身及里面所有内容的所有人
chgrp -R groupname dir ##更改目录本身及里面所有内容的所有组
监控命令
watch -n 1 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 ##file1拥有组添加w权限
chmod u-x,g+w file1 ##file1拥有去掉x权限,file1拥有组添加w权限
chmod ugo-r file2 ##file2的用户组和其他人去掉r权限
chmod ug+x,o-r file3 ##file3用户和组添加x权限,其他人去掉r权限
5.数字方式修改该文件权限
在linux中
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
7 = rwx
6 = rw-
5 = r-x
4 = r--
3 = -wx
2 = -w-
1 = --x
0 = ---
chmod 修改后权限值 file
chmod 777 file
###########4.系统默认权限的设定####
从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式
umask ##查看系统保留权限默认为022
umask 077 ##修改系统保留权限为077,此设定为临时设定,只在当前shell中生效
永久设定方式:
vim /etc/bashrc ##shell
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ##普通用户umask
else
umask 077 ##超级用户umask
fi
vim /etc/profile ##系统
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ##普通用户umask
else
umask 077 ##超级用户umask
fi
以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效
@@注意:在umask设定中不是单纯的数学计算
eg:umask 055
777 - 055 = 722 = rwx-w--w-
722 - 111 = 622 = rwx-w--w- - xxx = rw--w--w-
#####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权限时,那么目录中的文件只能被所有人删除
chmod o+t directory
t = 1
chmod 1xxx directory
chmod 1777 directory
######end######
#######################
#########第七单元########
#######################
#######1.进程的定义####
进程就是cpu未完成的工作
ps
a ##关于当前环境中的所有进程
x ##与当前环境无关的所有进程
f ##显示进程从属关系
e ##显示当前用户环境中的所有进程
l ##长列表显示进程的详细信息
u ##显示进程的用户信息
ps ax -o %cpu,%mem,user,qroup,comm,nice,pid ##查看进程某项信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##进程名称
nice ##进程优先级
pid ##进程的id
ps ax -o %cpu,comm --sort <+|-%cpu> ##进程按照指定方式排序,仅输出
+ ##正序
- ##倒序
%cpu ##cpu负载排序
%mem ##进程排序
#######2.进程优先级######
1.进程优先级范围
-20~19
2.优先级查看
ps ax -o pid,nice,comm
图形中查看进程:gnome-system-monitor
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
@@注意:nice -n -10 bash ##修改系统的默认优先级
4.进程改变优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806的优先级为-5
#########3.环境中进程的前后台调用###
命令&
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg ##把后台进程调回前台
bg ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
#######5.进程信号######
1.常用信号等级
1 ##进程重新加载配置 [重新加载配置,但不关闭进程]
2 ##删除进程在内存中的数据(等价于 ctrl+c)
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程 [只关闭单一进程,如:vim]
15 ##正常关闭进程
18 ##运行暂停的进程
19 ##暂停某个进程
20 ##把进程打入后台
man 7 signal ##查看信号详细信息
kill -信号 进程id
killall -信号 进程名字
pkill -u student -信号
@@注意:
-9和-19不能被系统忽略与阻塞
vim须用-9来进行关闭
######6.用和登陆审记######
1.
w ##查看使用系统的当前用户有哪些
w -f ##-f查看使用地点
2.
last ##查看登陆成功用户
3.
lastb ##查看用户登陆未成功的历史
######7. top命令 #######
top ##监控系统负载工具
############################
####第八单元.系统服务的控制#####
############################
1.systemd
系统初始化程序,系统开始的第一个进程,pid为1
2.systemctl 命令
systemctl list-units ##列出当前系统服务的状态
systemctl list-unit-files ##列出服务的开机状态
systemctl status sshd ##查看指定服务的状态
systemctl stop sshd ##关闭指定服务
systemctl start sshd ##开启指定服务
systemctl enable sshd ##设定指定服务开机自启
systemctl disable sshd ##设定指定服务开机关闭
systemctl reload sshd ##使指定服务重新加载配置
systemctl list-dependencies sshd ##查看指定服务的依赖关系
systemctl mask sshd ##冻结指定服务
systemctl unmask sshd ##启用服务
systemctl set-default multi-user.target ##开机不启用图形
systemctl set-default graphical.target ##开机开启图形
3.服务状态
loaded ##系统服务 已经初始化完成,加载过配置
active(running) ##服务正在被系统利用
active(exited) ##服务已经加载配置,等待被系统利用
active(waiting) ##服务等待被系统处理
inactive ##服务关闭
enbaled ##服务开机启动
disabled ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置错误
######################################
###########第九单元.openssh-server#####
######################################
1.openssh-server
功能:让远程主机可以通过网络访问sshd服务,开启一个安全的shell
@@查看ip命令:ifconfig
#####2.客户端连接方式####
ssh 远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.0.11
The authenticity of host ‘172.25.0.11 (172.25.0.11)‘ can‘t be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系
Warning: Permanently added ‘172.25.0.11‘ (ECDSA) to the list of known hosts.
root@172.25.0.11‘s password: ##远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ##登陆成功
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
****3.sshkey加密***
1.生成公钥私钥
[root@server0 ~]# ssh-keygen ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [enter] ##加密字符保存文件(建议默认使用)
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase): [enter] ##密钥密码,必须大于4个字符
Enter same passphrase again: [enter] ##确认密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key‘s randomart image is:
+--[ RSA 2048]----+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+-----------------+
[root@serber0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私钥,就算钥匙
id_rsa.pub ##公钥,就是锁
2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.11 【@@注意空格 “ ”,认真仔细,以免少了空格 造成执行错误 】
ssh-copy-id -i ##添加认证方式工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户位root
172.25.0.11 ##被加密主机ip
3.分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/
4.测试
[root@desktop0 ~]# ssh root@172.25.0.11 ##通过id rsa直接连接不需要输入密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#
****4.提升openssh的安全级别****
1.openssh-server配置文件
vim /etc/ssh/sshd_config ##打开配置文件
PasswordAuthentication yes|no ##(在78行)是否开启用户密码认证yse为支持 no为关闭
PermitRootLogin yes|no ##是否开启用户密码认证,yes为支持,no为关闭
AllowUsers student westos ##用户白名单,只有在名单上的用户可以使用shell
@@注意:后者的设置要高于前者
DenyUsers westos ##用户黑名单
###################################
#########第十一单元.管理网络######
###################################
#######1.ip基础知识###
1.ipv4
2进制32位------10进制
172.25.0.10/255.255.255.0
172.25.0.10: ip地址
255.255.255.0: 子网掩码
子网掩码3个255对应的ip位为网络位
子网掩码0对应的ip位为主机位
#######2.配置#######
《图形化》
1.图形界面
nm-connection-editor
2.文本化图形
nmtui
《命令》
ifconfig 网卡 ip netmask ##临时设定
下列命令均可用tab键补齐:
1)自动分配ip
nmcli connection add type ethernet con-name westos ifname eth0 autoconnect yes
@@注意:此处的type、con-name、ifname、autoconnect为同一级别,顺序可以调换
2)手动设置ip
nmcli connection add type ethernet con-name westos ifname eth0 ip4 ip/24
3)删除
nmcli connection delete westos
4)查看连接情况
nmcli connection show
5)关闭
nmcli connection down westos
6)启动
nmcli connection up westos
7)修改ip
nmcli connection modify "westos" ipv4.addresses newip/24
8)设置为自动|静态
nmcli connection modify "System eth0" ipv4.method <auto|manual>
@@注意:始终要记得 systemctl restart network
《文件》
dhcp ##动态获取
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 ##接口使用设备
BOOTPROTO=dhcp ##网卡工作模式
ONBOOT=yes ##网络服务开启时自动激活
NAME=nihao ##网络接口名称
:wq ##退出保存
systemctl restart network
static|none ##静态网络
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 ##接口使用设备
BOOTPROTO=static|none ##网卡工作模式
ONBOOT=yes ##网络服务开启时自动激活
NAME=nihao ##网络接口名称
IPADDR=172.25.0.100 ##
NETMASK=255.255.255.0|PREFIX=24 ##
:wq ##退出保存
systemctl restart network
##########################################
###第十二单元.不同系统之间的文件传输####
##########################################
######1.文件归档#####
1.
文件归档,就是把多个文件变成一个文件
2.
tar c ##创建
f ##指定归档文件名称 (后面要直接加文件名)
t ##显示归档文件中的内容
r ##向归档文件中添加文件
--get ##取出单个文件
--delete ##删除单个文件
-x ##取出归档文件中的所有内容
-C ##指定解档目录
-z ##gz格式压缩
-j ##bz2格式压缩
-J ##xz格式压缩
@@注意:组合用时f应在后面,例如: tf file.tar (正确);
ft file.tar (错误);
-f file.tar -t (正确)
#######2. 压缩 #######
四种格式
1)gz 格式
gzip etc.tar ##压缩成gz格式
gunzip etc.tar.gz ##解压gz格式压缩包
tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz
tar zxf etc.tar.gz ##解压并解档gz格式压缩包
2)bz2 格式
bzip2 eyc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包
3)xz 格式
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
tar Jcf etc.tar.xz ##把文件归档为tar并压缩成xz
tar Jxf etc.tar.xz ##把文件归档为tar并压缩成xz
4)zip 格式
zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包
######3.系统中的文件传输###
scp file username@ip:/dir ##上传
scp username@ip:/dir/file /dir ##下载
ln -s /mnt/file1 /mnt/westos ##建立链接
rsync [参数] file username@ip:/dir
rsync -r ##同步目录
-l ##不忽略链接
-p ##不忽略文件权限
-t ##不忽略文件时间戳
-g ##不忽略文件所有组
-o ##不忽略文件所有人
-D ##不忽略设备文件
@@注意:一般搭配使用r在后面
本文出自 “12097560” 博客,请务必保留此出处http://12107560.blog.51cto.com/12097560/1859911
入门级笔记二