一、系统的目录结构(文件系统)
Linux是多用户(而权限的问题是针对于多用户的)
Windows是单用户
系统的目录结构:
1. /bin : 可执行程序(命令)
2. /boot : 内核,与系统启动有关的文件
3. /etc : 系统配置文件
4. /lib : 存放库文件
5. /proc : 虚拟目录,进程在内存中的映像
6. /usr : 系统运行过程中不常改变的文件
7. /var : 系统运行过程中经常改变的文件
8. /root : 管理员的家目录
9. /home : 普通用户的家目录
10. /dev : 设备文件
11. /mnt : 临时挂载点,是系统管理员临时安装文件的系统安装点
12. /tmp : 临时文件(所有用户均可访问)
二、文件类型
1. 普通文件:
符号描述为 - :一般对应于文本文件,编译出来的普通可执行程序,都是普通文件;
2. 目录文件:
符号描述为 d :就是目录, 能用 # cd 命令进入的;
3. 链接文件:
符号描述为 l : 类似windows下的快捷方式;
4. 管道文件:
符号描述为 p :FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误;
5. 设备文件:
(1)块设备文件 :
符号描述为b :就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件;
(2)字符设备文件:
符号描述为c : 即串行端口的接口设备,例如键盘、鼠标等等;
6. 套接字文件:
符号描述为 s :这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型 ;
三.文件权限
1.文件权限的分类:
读:
字符表示:r ,数字表示:4
写:
字符表示:w,数字表示:2
执行:
字符表示:x, 数字表示: 1
无:
字符表示:- ,数字表示:0
s、t:特殊的权限,在不同的位置有着不同的意义
2.修改文件权限的方式:
(1)chmod u+x filename //给属主加上可执行的权限
(2)chomd 766 filename//属主有r.w.x的权限,同组有rw的权限,其他有rw的权限
四、基本命令
1.操作文件的:
cd : 改变当前目录
ls : 显示当前目录下的文件
pwd : 显示当前位置
cp : 拷贝文件
mv:剪切文件
less:比more更有弹性,可以向前翻
more:类似cat,是以一页一页的显示,只能向后翻
Cat:整个文件内容从上到下显示到屏幕
head:用来显示文件开头某个数量的文字区块
tail:用来显示文件结尾某个数量的文字区块
vi:支持编辑和命令模式
find:在指定目录下查找文件
grep:强大的文本搜索工具,根据正则表达式来搜索文本
awk:处理文本的语言
sed:没有修改文本的编辑器
touch: 创建普通文件
mkdir: 创建目录文件
rm : 删除文件
2.进程操作
ps : 显示当前进程的状态
Kill : 按pid来结束进程
Pkill : 按文件名来结束进程
Jobs:显示linux中的任务列表及任务状态,包括后台运行的服务
3.系统监测命令:
top : 系统性能或者资源的监测
tcpdump : 抓包的命令
netstat : 网络信息统计工具(包括某个进程使用的端口,tcp状态,接受/发送缓冲区字数)
lsof : 某个进程当前打开文件描述符
strace -p pid : 跟踪一个进程调用的系统调用
ltrace -p pid : 跟踪一个进程执行过程调用的库函数
vmstat : 监测系统cpu,内存,进程及io的使用情况
ifstat : 查看网络流量的工具
mpstat : 查看多个cpu的使用情况
nc:快速构建一个网络连接,可以服务端运行,也可客户端,也能扫描某个端口是否能打开
sar:收集系统性能信息
free:系统内存使用情况
slabtop:实时显示系统如何分配各种缓存,及缓存使用的情况
time:测试程序执行的性能,如实际运行时间,用户态运行时间,内核态运行时间
iostat:显示磁盘io子系统信息统计情况
ethtool:显示以太网设备统计信息及配置信息
iptraf:实时网络监测情况
ip:网络设备信息统计及配置
watch:某个命令的执行情况
taskset:设置某个进程在那个cpu上运行
4.调试程序的命令
gdb (编译程序) - g
l :显示代码
b : 加断点
r : 运行/启动
n:单步执行
display : 持续显示打印信息
p : 打印某个值(变量/地址)
c : 继续执行,直到遇到断点结束
f : 退出函数
s : 进入函数
跟踪子进程:set follow - fork - mode child
attach pid //调试pid对应的进程
多线程调试:info threads //显示可调试的进程
thread id //切换到指定线程进行调试
函数调用栈信息:bt
5.系统管理:
useradd / userdel / passwd (增加用户/删除用户/改密码)
Inti : 设置系统启动(运行序列)
Shutdown -h now:关机 (halt / init 0)
iptables -f :关闭防火墙
Ifconfig :查看当前ip地址
6.打包、压缩:tar : tar zxf xxx.tar.gz(解压压缩包)
7.查看系统限制的命令:
ulimit -a : 查看系统资源限制
uname -a : 查看操作系统名字及内核版本
df -h : 查看磁盘各分区的使用情况