系统操作(命令区分大小写)
通配符
mv
和ls
等都可以使用
*
匹配多个字符
mv * /tmp
:把当前目录所有的文件和目录移动到tmp
目录下
mv file* /tmp
:把当前目录file前缀的文件和目录移动到tmp
目录下
?
匹配单个字符
man
man后面跟一个命令,查看这个命令的manual
man 7 man
可以看man这个命令的所有章节概要
比如ls
,属于1,可以使用man 1 ls
,1可以省略,也可以写成man ls
有一个命令是passwd
,但是etc下也有一个文件名叫passwd,对于后者则需要man 5 passwd
如果不知道man后面跟的命令是第一章的,可以使用man -a
:
help
type
可以区分内部和外部命令
info
pwd(Print Working Directory)
cd(change directory)
相对路径操作时,./可以省略
cd -
回到刚刚的目录
ls(list)
第1列:最前面的d代表目录文件 -代表普通文件 后面是操作权限
第3列:创建者
第4列:创建者组
第5列:文件大小
第6列:最后修改时间
显示隐藏文件,前缀为.的都是隐藏文件
逆向:默认按文件名逆向
还可以按时间逆向,选项可以合并在一个-后
递归子目录
-h
文件大小M为单位
切换用户后 exit
退出
touch
touch file
:新建file文件
也可以touch filea fileb
mkdir
mkdir /a
:在根目录/
下建立一个a
目录
mkdir ./a
和mkdir a
:在当前目录下建一个a
目录
mkdir a b c
:在当前目录建立a
b
c
3个目录
mkdir -p /a/b/c
:可以建立多级目录,相当于在根目录/
下建立一个a
目录,在/a
下建立了b
目录,在/a/b
下建立了c
目录,还可以忽略已经存在的目录
rmdir
rmdir /a
:如果/a
为空才能被删除
rm -r /a
:需要手动确认子目录,如下图
rm -r -f /a
或者rm -rf /a
:删除/a
目录
rm -r -f / a
:删除/
根目录,GG思密达
cp
对文件复制:
cp /root/file.txt /tmp
:把/root/file.txt
文件复制到/tmp
下,默认无进度和提示
如果想要有提示和进度可以使用cp -v /root/file.txt /tmp
对目录复制:
cp -r /root/a /tmp
:把/root/a
目录复制到/tmp
下,
mv
对文件移动
mv filea.txt fileb.txt
:把filea.txt
文件重命名为fileb.txt
mv filea.txt /tmp
:把filea.txt
移动到/tmp
目录
mv filea.txt /tmp/fileb.txt
:把filea.txt
移动到/tmp
目录,并重命名为fileb.txt
对目录移动
mv /dirc /tmp
:把dirc
目录移动到/tmp
下
文本查看
cat
:全拼concatenate:连接
wc
:全拼word cout
head
默认显示10行,如果要显示5行,使用head -5
,tail
也可以控制这个行数
wc -l file.txt
:查看file.txt
多少行
more file.txt
:显示一部分,按空格继续下翻,less
更强大
打包和压缩
tar
打包,gzip
或bzip2
压缩
tar
全拼tape archive:磁带归档
tar cf /tmp/etc-backup.tar /etc
把/etc目录打包到/temp目录下的etc-backup.tar
tar czf /tmp/etc-backup.tar.gz /etc
比上个命令多了个z选项,等于多了一个gzip的步骤也就是压缩的步骤,同时后缀名增加.gz,告知用户这个是经过压缩的
tar cjf /tmp/etc-backup.tar.bz2 /etc
比上个命令z改成j选项,等于多了一个bzip2的步骤也就是压缩的步骤,同时后缀名增加.bzip2,告知用户这个是经过压缩的,bzip2的压缩比率更高
tar xf /tmp/etc-backup.tar -C /root
解压到/root目录
对应的tar.gz用zxf
,tar.bzip2用jxf
vim的四种模式
正常模式
刚进去编辑器的时候是正常模式 可以进行复制粘贴等操作
HJKL控制光标移动
yy
复制当前行
3yy
复制3行
y$
复制光标到行尾
dd
剪切当前行
3dd
剪切3行
d$
剪切光标到行尾
p
粘贴在后面
u
撤销操作
ctrl+r
撤销撤销的操作,嘿嘿
x
删除当前光标的字符,等于windows的del键
r
按下后,输入字符替换当前光标的字符
按下行数后,按G
可以去到对应行数
直接按g
去第一行,G
去最后一行
^
去当前行头,$
去当前行尾
插入模式
i
I
a
A
o
O
都可以进入插入模式,esc
回到正常模式
i
进入插入模式,光标在当前位置
I
进入后光标在行头
a
进入插入模式,光标后移一位
I
进入后光标在行尾
o
进入后,光标在新开下一行的行头
O
进入后,光标在新开上一行的行头
可视模式
不同模式下的光标移动选择的范围不一样
比如块模式,选择一块后,按shift+i
可以插入多行的内容
命令模式
:
键入
可以输入命令
:set nu
显示行数 :set nonu
关闭行数显示
:w /tmp/test.txt
保存到/tmp/test.txt
:q
退出,:wq
可以一起
:q!
强制退出
:wq!
保存强制退出
:!ifconfig
可以!后面接linux命令
/x
查找文本中x,回车后移动到第一个x的地方,按n可以到下一个x
:set nohlsearch
取消搜索后的一直高亮
:s/old/new
替换字符,默认表示所在行范围进行替换,整个文件范围替换使用:%s/old/new/g
(g 表示全局)
在指定范围替换使用 :起始行,结束行s/old/new/g
(多次替换加/g,单次则不需要)
用户和用户组管理及密码管理
用户管理常见命令
添加用户,设置密码
useradd wilson
新增一个名叫wilson的用户,root用户才能创建新用户
useradd -g group1 user2
新增一个user2
用户,用户组为group1
id wilson
可以看用户的信息,每个用户都有自己的uid,系统通过uid来区分用户
添加用户后,会在/etc/passwd和/etc/shadow文件下添加相关信息
passwd wilson
修改wilson的密码,passwd
修改当前用户密码
删除用户
userdel wilson
删除用户wilson,但是保留用户家目录,-r
选项可以删除家目录,删除用户后,相应的/etc/passwd
和/etc/shadow
文件下的相关信息也会被删除
修改用户信息
useradd w
此时w
用户默认的家目录是/home/w
usermod -d /home/w1 w
把w
用户的家目录改为/home/w1
usermod -g group1 user1
把user1
的用户组改为group1
组管理
groupadd
groupdel
groupadd group1
新建用户组group1
su(switch user)
su - user1
带了-
代表完全切换
exit
退回上个账号
su user2
不完全切换
sudo
sudo
以其他用户身份执行命令,比如root用户可以把shutdown命令授权给一个用户,则该用户可以用sudo来以root用户的身份执行shutdown命令