第一章:
uname -r
su 和 su -
ifconfig ip addr
date +%Y
cal -3
history
cd (. … ~ -)
pwd
ls (-a,-l,-d) ll= ls -l
快捷键:tab ↑ ↓ ctrl+c
echo " " ’ ’ ``
who whoami
which which ls
man --help
与文件相关的
mkdir (-p)
rmdir
touch (-t[20180502104631]) vim(vi)
cp 源文件 目的地 (-p) cp -p /etc/passwd /etc/passwd.bak
mv (移动,重命名) mv 源文件 目的地 mv 原文件名 新文件名
rm(-d,-f,-i,-r) rm -d = rmdir rm rm -rf
cat head (-n)tail tac more less
file
vim编辑器
vim +文件
三种模式:命令模式 编辑模式 底行模式
命令模式:
i,o,a,I,O,A
dd 5dd yy 5yy p gg G 49G
dw yw d^ y^ d$ y$ dgg dG ygg yG(从光标处复制到文章的末尾)
x(向后删除) X u(撤销) ctrl +r (恢复)
编辑模式:
底行模式:
wq,q,q!, r+文件名 set nu set nonu
查找:
/bin n N ?bin
替换:
n,ms/被替换的内容/替换后的内容/g
/ -> #
$ 表示最后一行 1,$s///g
% 表示全文
\ 表示转义 举例: / ->\
与用户相关的
useradd (-u -e(2017-05-01) -r -M -m )
passwd+用户名 (-d,-l,-u,-S)
usermod (-e,-l,-aG -L -U )
(usermod -aG 用户组 用户)
userdel (-r)
chage -d 0 用户名 用户首次登陆必须修改密码
chage -l
groupadd (-g -r )
gpasswd (-a,-d,-r) -a 把用户加到组 -d 将用户从组中删除 -r 取消密码
groupmod (-n,-g) -n改组的名字 -g Gid
groupdel
与权限相关的
rwx 在文件 在目录中
01234567 rwx-
r4w2x1 -0
chmod 数字 文件
chmod ugoa -=+ rwx 文件名
chown
chown 用户名 文件名
chown .用户组 文件名
chown 用户名.用户组 文件名
chown 用户名:用户组 文件名
chgrp
chgrp 用户组 文件名
默认权限
umask 0022 0002
新建一个文件的默认权限:(在linux里面,文件默认是没有x权限的)
666-022=644
新建一个目录的默认权限:
777-022=755
umask =0123
新建一个文件的默认权限是多少?
666-123=543 ? r-xr—wx r-x -》 rw- -wx -》 r-- 644
新建一个目录的默认权限:
777-123=654
重定向:
<(输入重定向) >(输出重定向) 2>(错误的输出)
2>> &> &>>
dd if=/dev/zero of= bs=1 count=1M
wc(-c -w -l )
|(管道)
|xargs (ls,kill,rm等)
文件相关:
find 路径 选项 参数
-name -user -group -perm
-size(+ - ) -type (f,l,d)
-mtime( + - )
find 路径 选项 参数 -exec 指令 {} ;
grep (-n,-v,-i,-A2,-B3,-C2)
ooo* o+ o{2,5} r…t a|b|c [0-9]
^ bash$ [^0-9] 1
shell脚本 (两周 17 18 )
history
!!
!p
!333
alias
unalias
split (-b,-l)怎么合并?
tee
cm1&&cm2
cm1||cm2
cm1;cm2
& |(管道)
变量命名规则
局部变量和全局变量
变量的调用 $
数值计算 + - * / %
$(( $a + $b ))
[
[
[a + $b]
$(expr $a + $b )
分支结构
数值比较: -ge -gt -lt -le -eq -ne
判断文件: -e -f -d -s -r -w -x
字符串比较: > < = != -z
判断表示: test [ ] (())
-a -o
双分支结构:
if 条件;then
cm1
else
cm2
fi
if 条件
then
cm1
else
cm2
fi
多分支结构:
if 条件;then
cm1
elif 条件;then
cm2
else
cm3
fi
多分支:
case $变量 in
取值1)
命令
;;
取值2)
命令
;;
*)
命令
;;
esac
循环:
while循环
while 条件
do
循环体
done
for循环
for((表达式1;表达式2;表达式3))
do
循环体
done
for 变量 in 取值范围(seq)
do
循环体
done
break
continue
exit
0-9 ↩︎