复习:
文件系统
从/开始的树状结构
绝对路径:/打头
相对路径:从当前目录之下开始
cd ./abc
username,passwd,uid,gid,,home,shell:/etc/passwd文件
经过加密的密码x-> /etc/shadow
shell
基本上命令就是可执行文件,除了shell的内部命令
ls文件在 /bin/ls
sleep 5
-----------------------
ls -l 用长格式显示文件和目录
ls -F 给文件和目录打标记
无标记 普通文件
/ 目录
* 可执行文件
@ 软链接->类似快捷方式
ls -a列出所有文件和子目录
Linux中 .打头的文件是隐藏文件,平时ls不出现
ls -A不含.和..两个隐藏文件
ls -a -l ls -al
ls -l
-打头表示普通文件
d打头表示目录
l打头表示软链接
x结尾表示可执行文件
ls -r反过来排列 reverse
ls -t按时间排列
ls -R列出当前目录下的整个目录树
mkfifo abc建管道
p打头管道 pipe |标记表示管道
目录大小4KByte 4096
硬链接 多个名字对应同一个文件
目录的硬链接数例外
建软链接 ln -s /bin/sleep bs
建硬链接必须在同一个物理设备上
ln /bin/zsh zzz
硬链接一旦建立它们都是平等的。
只有硬链接数量变成0时文件内容才真正从磁盘删除
不能操作目录硬链接,它只是统计用的硬链接,如.和..
权限:r—read w—write x—execute
自己、同组人、其他人
chmod :修改权限change mode
ugo:u自己,g同组人,o外组人
chmod o-rx z
chmod o+r z
chmod o=rwx z
chmod o=- z
chmod u-w,g+w,o+r z
r—4, w—2, x—1, ---0
rwx ->7
rw- ->6
r-x ->5
r-- ->4
700
755
644
chmod ugo+x z
chmod a+x z //a=all
0打头表示是一个八进制数。
-----------------------
mkdir da db dc
mkdir /dd/de //需要dd目录存在
mkdir -p多层
mkdir -p df/dg/dh
touch创建文件
touch f1 f2 f3
touch da/f4 da/f5
ls -R
date > xyz
cat xyz
>符号:重定向,把左边命令的输出写到右边文件中去,
会清空文件中原有的文件的内容。
>>符号:把左边命令的输出追加到右边文件的末尾。
Cal显示当月的日历
cal 2010
cal 11 2010
echo随意输出命令,空格会忽略,用” ”
分号隔开命令会依次执行。
/dev/tty文件表示终端(屏幕、键盘)
/dev/null文件是黑洞文件,空设备、空文件。
移动mv
mv db dc/d2移动且改名,只有移动一个文件或目录时才能改名。
复制cp 只
cp 只复制文件
cp -r连目录一起复制
复制、移动、删除中 -i interactive给予提示
删除
rm删除文件
rm -r 删除文件、目录。慎用!
rmdir删除空目录
-----------------------
通配符
*任意多个字符
?一个字符
[]匹配指定范围内的一个字符
rm dc/f*
rm dc/*2
rm dc/*
ls -l dc/*2
ls -l -d dc/*2
-d 不进目录,只看目录本身
通配符是由shell处理的。
rm f[d-g]
mv f[135ajm] dd
f[4-15]
more 分屏显示文件内容。回车一行,空格一屏
q退出
less 看文件内容。
head看文件的前几行,默认10行。
head -5 /etc/passwd
tail看文件的后几行,默认10行。
wc 统计 word count
wc /etc/passwd
行数,单词数(以空白分隔单词),字符数。
wc -l只统计行数
wc -w只统计单词数
wc -c只统计字符数
grep
在一个文件里查找并显示包含指定字符串的行。
grep soft01 /etc/passwd
grep -i 忽略大小写。ignore case
grep 01 /etc/passwd
grep -v查找不包含指定字符串的行。
管道:把一个命令的输出当成一个文件交给另一个文件处理。
grep 01 /etc/passwd | wc -l
grep nologin /etc/passwd | wc -l
gedit
kate
vi(unix)/vim(linux)
vi的使用
插入状态:i 、a 、o
i在光标位置的前面插入。
a追加在原来光标位置的后面。
o在光标位置的下面插入一个新行。
I在行首
A在行尾
O在光标位置的上面插入一个新行。
命令状态:Esc
退出:q!
数字0行首、$行尾
H到屏幕首行
L到尾行
M到中间行
page up
page down
ctrl + b后退
ctrl + f前进
:8跳到指定的行。
8+大写字母G
G到文件最末尾
w把光标移动到下一个单词开头
b把光标移动到上一个单词开头
e把光标移动到单词末尾
:set nu在左边显示行
:set nonu取消显示
命令x删除一个字符,只操作当前行。
5+x删除5个字符
u恢复
删除的东西在VI内部的剪贴板里面,
可以用p在当前光标位置之后插入
P在当前光标位置之前插入
dw删除到下一个单词的开头
de删除到单词的末尾
db删除到本单词的开头
dd删除一整行
d$删除到行尾
d0删除到行首
删除光标位置之前到行首
:9,16删除固定多行
移动 :8,10 18 mv
复制 :8,10 18 co
yl复制一个字符
yw复制一个单词(包含空白)
ye复制一个单词不带空白
yb复制到单词的开头
yy复制一行
y0
y$
替换一个字符r
替换一个单词cw
替换一行cc
c0
c$
P278
~切换大小写
J连接2行
/查找,从当前光标位置开始向下查找,n下一个
?向前查找
去色/dfadssa让他找不到
s把一个字符换成一段内容
把外部文件插入到光标位置之下 :r xyz
替换 :5,8/wf/妻子/替换每行的第一个
:5,8s/wf/妻子/g 替换全部
ctrl+g
全文替换
:1,$s/wf/妻子/g
:%s/wf/妻子/g
:w保存
:q退出
:q!
:w 名字 另存一份
:wq保存退出 :x也是 Zz也是
ctrl+z挂起vi
fg恢复挂起的vi
-----------------------
ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 501 3025 3022 0 75 0 - 1399 wait pts/1 00:00:00 bash
0 T 501 3831 3025 0 75 0 - 2660 finish pts/1 00:00:00 vim
0 R 501 3835 3025 0 77 0 - 1320 - pts/1 00:00:00 ps
S睡眠状态
T挂起状态
R运行状态
PPID父进程ID
sleep 10 & 让其在后台执行
ps -e显示所有终端的进程
ps -e -l
Z僵尸状态
ps -f full显示完整的命令
ps -f -p 3846
ps -f -p 1
unix中调度进程sched ID 0
jobs专门用来查看后台任务
fg把带+的任务调到前台运行
fg +编号
bg把暂停的任务放到后台执行
bg+编号
ctrl+c
kill终止命令,杀死某个进程。
Kill +PID
Kill %4终止4号后台任务
用vi把man sleep输入到文件中去。大写的黑体字用方括号括起来。