内核 kernel
外壳 shell
file system
进程 守护进程 精灵进程
程序进了内存==>>进程
shell: 命令解释器 :
$ 命令提示符
sh/bash
% csh
sh bash csh tshe kshe
管理员 root 、符号#
退出:exit
Unix 系统根目录: /
常见子目录:
bin sbin 存放一些命令
home 各种用户目录
opt -存外部程序
usr -用户可能用到的文件
etc -基本配置文件
dev -各种设备
查看文件
查看文件内容 cat 文件名
cat 全部查看
more 按屏查看
echo : 显示
例 echo abc.txt 把abc显示在a.txt里
追加
echo def>>a.txt 把def追加到a.txt里
命令操作格式
命令 选项 参数
选项和参数可选,可能有也可能没有,一半用“-”开头。
clear 清屏
pwd 当前目录路径
cd 进入目录
ls 显示目录下的内容
-a 显示所有文件,包括系统和隐藏文件
-l 显示文件和目录信息
-al 显示目录下所有内容信息
ps 进程
-au 进程
id gid
user id 用户id 用户编号
group id 组id 组编号
cd -change dir
cd /路径 pathname
绝对路径 以/ 开头
相对路径 不以/ 开头
相对目录 从当前目录下找.代表当前目录
cd … 当前的上一级目录 … 上一层目录
cd …/XX XX代表下一级目录名 ,路径分隔符用“/”表示
主目录 Home dir
mkdir 创建目录
cd ~/dir “~”用户主目录
ls 查看目录下内容,ls后面可以跟路径
ls -t 按修改时间顺序排序,最新的在前
-F 按类型
-R 列出所有内容包括子目录
-l 列出目录下文件和子目录信息,每行一个
drwxr-xr-x 42 user nobody 24 Feb 2020 9:20 a.txt
权限 硬连接数 属主 属组 大小 修改时间 文件名
d wxr -xr -xw
文 属 属 其
件 主 组 它
类 权 权 权
型 限 限 限
-去权限
+增加权限
=设置权限
user u用户
group g组
other o其它
all a全部
- :普通文件
l :软连接文件
p :管道文件
s :socket文件
权限
r 读
w 写
x 执行
- 无权限
wrx wrx wrx
前三个是属主权限
中间三个是组权限
后面三个是其它权限
其中 属主 -生成文件时,登录人的权限,最高,u表示
属组 -系统管理员分配的一个或几个用户,g表示
所有人 -包括属主、属组及其它,用a表示
chmod 改权限
chown 改属主名,文件名
chgrp 改群组
touch 创建新文件
格式 chmod g 文件名
chmod g+w 同组人为写权限
chmod u-w 去掉用户写权限
chmod o+w 其它人增加些权限
chmod o+w,o+x 其他人加写,执行权
chmod a=rw 所有人可以读写
三个8进制数组表示权限
第一个表示属主
第二个表示属组
第三个表示其它
数字 权限
4 读
2 写
1 执行
0777 1777 临时权限
7 rwx 111
6 rw- 110
5 r-w 101
4 r-- 100
3 -wx 011
2 -w- 010
1 --x 001
0 --- 000
7 =4+2+1 rwx
6 =4+2 rw
创建文件 touch,创建一个空文件或修改文件时间
touch 文件名
mkdir dir1/dir2 在dir1下创建dir2
删除目录 rm
rm -r 目录名1 目录名2 目录名······
删除文件
rm 文件名
查找 find. -name [文件名]
.当前目录
[ ]可以为单一字符设定范围
find . name '*.c'
find . name /*/'a*'
压缩
tar zcvf 后面加.tar.gz
解压
tar zxvf xxx.tar.gz xxx
tar zcvf abcdef.tar.gz abcd
新名 原名`
ctgs-R *
shift +8
ctrl +
ctrl +T
vim +ctags+cscope
复制: cp
cp a.txt b.txt
cp -i 提示是否覆盖(目录存在时)
n否 y是
cp -r 复制目录
多目录时表示把前几个复制到最后一个里
移动: move 改名或者移动
mv 文件 目录 移动文件到目录
mv 文件名 改名
删除 :remove file
remove directories
rm 文件名
rm -i 提示删除
rm -f 不提示删除
rm -r 目录名 ,属主是r(只读文件),会提示删除写保护文件
rm -rf 不提示直接删除
rmdir 也删除目录,只能删除空目录
目录权限:
r 在目录下查看
w 在目录下创建和删除
x 进目录、查看和删除文件,目录必须先有x后有r和w权限
ln 创建文件的软连接硬连接
ln filea fileb -————fileb是filea的硬连接文件,是同一个文件的另一个文件名,filea和fileb是同一个文件
i 节点号 i-node number
i节点号在属性前,查看命令是 ls -li dir
硬连接数表示有几个文件名 ,显示总用量 xxx 是空间块
软连接 : 是连个文件,相当于后面的是前面的快捷方式
Ln -S filea filea.sln 除了删除外,对filea.sln的所有操作都是对filea的操作
元字符
*代表多个字符
?代表一个字符
[]代表一定范围
file[a-z]表示a-z字符 ,^表示非
file[^0-9]表示0-9以外的字符
; 分号,两个命令可以连接成一个命令
>输出重定向
例: cat >a.txt 内容全在a.txt里显示
>覆盖
>>追加重定向
> >>输入重定向
cat <a.txt >b.txt 把a.txt内输出到b.txt
管道
将一个命令的输出作为下一个命令的输入
命令分行符 ;
命令续行符 \
vi操作
<1>命令模式
<2>低行命令模式
<3>文本编辑模式
<4>文本编辑模式 ->命令模式:ESC
打开文件 vi filename 文件存在就打开,不存在就创建
k向上
j向下
h向左
l向右
i光标当前输入
a光标后插入
o光标下插入 -空行
ESC退出
替换 :
%s n/m 把全文中得n换成m
r 替换字符
cw 替换一个单词
cc 替换行
c 替换光标至行尾
删除:
x 一个字符
dw 当前词
3dw 3个词
dd 当前行
5dd 5行
:5,10d 第5行到第10行
$ 行尾
% 全文
命令模式下直接输入:
x删除
u撤销
ctrl+R 恢复
拷贝粘贴
yw 拷贝词
yy 拷贝行
p 当前行粘贴
低行命令拷贝模式
:1,2co3 拷贝1行2行到3到之后
:4,5m6 拷贝4行5行到6到之后
输入:help iccf 查看说明
q: 退出
help 或F1在线帮助
vim ~/.vimrc 进入vim配置
set nu 行号
set cindent 设置C风格缩进
set tabstop=4 代表tab键缩进4个空格
set shiftwidth=4 用来设置缩进为4
man查看命令
man -k
man -S2
man -2
man -Z