LINUX文件系统结构
·Linux文件系统为一个倒转的根树状结构
·文件系统的根为"/"
·文件系统严格区分大小写
·路径使用“/”分割(windows中使用"\")
当前工作目录
·每一个shell或系统进程都有一个当前目录
ps:在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
·使用pwd(Print Working Directory)命令可以显示当前的工作目录
文件名称
文件的名称大小写敏感
名称最多可以为255个字符
除了“/"以外都是有效字符
通过touch命令可以创建一个空白文件或者更新已有文件的时间http://write.blog.csdn.net/postedit/22987005
以"."开头的文件为隐藏文件
列出目录内容
ls -a显示隐藏文件(绝大多数是配置文件)
ls -l显示详细信息
ls -R递归地显示子目录
ls -ld显示目录和链接的信息
查看文件的类型
file [文件名] 可以查看文件类型
绝对路径和相对路径
绝对路径:以"/"开头,递归每级目录直到目标的路径,不受当前所在工作目录的限制
相对路径:以当前目录为起点,到达目标的路径。受当前目录的限制
cd命令可以用来切换目录
上一级目录".."
当前目录"."
用户家目录"~" (任何情况下直接cd也是回到家目录)
上一个工作目录"-"
LINUX文件的操作
复制文件、目录
使用cp命令复制文件或目录
CP源文件(文件夹) 目标文件(文件夹)
复制文件夹 CP -r
显示复制详细信息 CP -rv (CP - r -v)
移动、重命名文件或目录
通过mv命令移动或重命名文件或目录
mv 文件 目标目录
如果指定文件名,则可以重命名文件
创建、删除文件
通过rm (remove) 命令可以删除文件或目录
常用参数
-i :交互式,没删除一个文件就提示
-r :递归删除文件夹以及所有内容
-f :强制删除,没有警告提示
创建、删除目录
通过mkdir (make directory) 命令创建一个目录
通过rmdir 命令删除一个空目录
通过rm -r(-f)命令删除一个非空目录
Linux系统目录架构
常用命令
命令date查看、设置当前时间
查看 date [+%Y--%M--%D]
设置date -s "20:20:20"
命令hwclock(clock)用以显示硬件的时钟时间
命令cal用以查看日历
命令uptime用以查看系统运行时间
输出、查看命令
命令echo用以显示输入内容
命令cat用以显示文件文件内容
命令head用以显示文件的头几行(默认10行)
-n指定显示的行数
命令tail用以显示文件的末尾几行(默认10行)
-n指定显示的行数
-f追踪显示文件更新(易班用于查看日志,命令不会退出,而是持续显示新家入的内容)
命令more用于翻页显示文件内容(只能向下翻页)
命令less用于翻页显示文件内容(带上下翻页)
查看硬件信息
命令lspci用以查看pci设备
-v 查看详细信息
命令lsusb用以查看usb设备
-v 查看详细信息
命令lsmod用以查看加载模块(驱动)
关机、重启
命令shutdown用以关闭、重启计算机
shutdown [关机、重启] 时间
-h 关闭计算机
-r 重新启动
命令poweroff用以 立即关闭计算机
命令reboot用以理解重启计算机
归档、压缩
命令zip用以压缩文件
zip linuxcast.zip myfile
命令unzip用以解压缩zip文件
unzip linuxcast.zip
命令gzip用以压缩文件
gzip linuxcast.net
命令tar用以归档文件
tar -cvf out.tar linuxcast
tar -xvf linuxcast.tar
tar -cvzf backuo.tat.gz/etc
-z 参数将归档后的归档文件进行gzip压缩以减少大小
查找
命令locate用以快速查找文件、文件夹
locate keyword
用此命令需要虚线简历数据库。数据库默认每天更新一次,可用updatedb命令手工建更新数据库
命令find用以高级查找文文件夹
find 查找位置 查找参数
如:
find .-name *linuxcast*
find /-name *.conf
find /-perm 777
find /-type d
find .-name "a*" -exec ls -l {} \;
find支持很多种查找条件,常用如下:
-name
-perm
-user
-group
-ctime
-type
-size
VIM模式
-命令模式,任何情况下猛按ESC
-插入模式,在命令模式中按"i"键
-ex模式,在命令模式中按";"键
命令模式
i 在光标前插入文本
o 在当前行下面插入新航
dd 删除整行
yy 将当前行的内容放入缓冲区
n+yy 将n行的内容放入缓冲区
p 将缓冲区冲的文本放入光标后
u 撤销上一个操作
r 替换当前字符
/ 查找关键字 用 n 切换
EX模式
:w 保存当前修改
:q 退出
:q! 强制退出,不保存修改
:x 保存并退出,相当于:wq
:set number 显示行号
:! 执行一个系统命令并显示结果
:sh 切换到命令行,使用ctrl+d切换回vim
文件系统
fdisk分区
创建文件系统(格式化) mke2fs -t -ext* /dev/**
mke2fs -t -ext4 /dev/sda3
-b blocksize指定文件系统块大小
-c 简历文件系统时检查坏损块
-L label 指定卷标
-j 建立文件系统日志
命令mkfs也可以用于创建文件系统,相较于mke2fs简单,但是支持的参数较少,不能进行精细化的控制
mkfs.ext3 /dev/sda3
mkfs.ext4 /dev/sda3
mkfs.vfat /dev/sda3
命令e2label可以用来为文件体统添加标签
e2label /dev/sda2 显示sda2的系统标签
e2label /dev/sda2 linuxcast 将sda2的系统标签设置为linuxcast
命令FSCK (file system check)用来检查并修复损坏的文件系统
fsck /dev/sda2
使用-y参数直接修复不给提示
使用-t 参数指定文件系统类型(-t ext4)损坏严重时使用
损坏的数据放入lost+found 目录
Linux文件系统挂载管理
使用mount命令将格式化好的磁盘或分区挂载到一个目录上
mount /dev/sad3(要挂载的分区) /mnt(挂载点)
不带参数会显示所有已挂载的文件体统
-t 指定文件系统类型
-o 指定挂载选项
ro,rw 以只读或只写方式挂载
sync 代表不使用缓存,而是对所有操作直接写入磁盘
async代表使用缓存,默认是async
noatime代表每次访问文件时不更新文件的访问时间
atime 代表每次访问时更新访问时间
remount重新挂载
如:mount -o remount,sync,noatime /dev/sda1 /mnt
UMOUNT命令用来卸载已挂载的文件系统
如果出现报错
使用 fuser -m /mnt 命令查看使用文件系统的进程
使用 lsof /mnt 命令查看正在被使用的文件
自动挂载
配置文件/etc/fstab用来定义需要自动挂载的文件系统fstab中每一行代表一个挂载配置
要挂在的设备 挂载位置 类型 挂载选项 参数dump,fsck相关选项
/dev/sdb1 /mnt ext4 defaults 0,0
要挂载的设备也可以使用label进行识别,使用label=卷标 取代/dev/sdb1
mount -a命令会挂载所有fstab中定义自动挂载项http://write.blog.csdn.net/postedit/22987005
帮助
获取帮助-h 或 -help
命令man,把命令作为man的参数可获取相应帮助
man文档有很多类型使用“ man [1-9] 命令”
man -k 关键字:查找包含关键字的文档
info与man类似,更详细,他们都可以用“/+关键字”格式
info与man 中使用“/+关键字”搜索方便查找
DOC文档,提供最详尽的文档,在/user/share/doc目录中
Linux用户基础
相关文件(需要用su用户登录)
/etc/passwd 保存用户信息
/etc/shadow 保存用户密码(加密的)
/etc/group 保存组信息
查看登录用户
命令whoami显示当前用户
命令who显示有哪些用户已登录系统
命令w显示有哪些用户已经登陆并且在干什么
创建用户
命令“useradd 用户名”可以创建一个用户
命令“passwd 用户名”可以为这个用户穿件一个密码,将更新/etc/shadow文件
将/etc/skel中的文件夹复制到每一个新用户的家目录中
命令useradd的参数
-d 家目录
-s 登陆shell
-u uerid
-g 主族
-G 附属组(最多31个,用","分割)
也可以直接修改/etc/passwd的方式实现
修改用户信息
命令usermod用来修改用户信息
-l 修改用户名
-u 新userid
-d 用户家目录位置
-g 用户所属主族
-G 用户所属附属组
-L 锁定用户使其不能登陆
-U 接触锁定
删除用户
命令userdel用以删除指定用户
“userdel 用户名” (保留用户的家目录)
“userdel -r 用户名”(同事删除用户的家目录)
创建、修改、删除组
命令“groupadd 组名” 可以创建组
命令"groupmod" 可以修改组
group -n newname oldname 修改组名
group -g newGid oldGid 修改组id
命令"groupdel 组名"可以删除组
修改文件的所属用户,组
命令"chown/chgrp 用户名 文件
参数 -R 递归修改里面的所有文件所属
修改权限
命令"chmod 模式 文件"
u、g、o 代表用户、组、其他
a可以代表ugo
+、— 代表加入或删除对应权限
r、w、x代表三种权限
同样-R 参数可以递归修改
命令chmod也支持以数字方式修改权限rwx队形421:rw=6,rwx=7,r-x=5
所以 “chmod 660 文件” =rw-rw----
以太网连接
命令lspci列出所有pci设备
命令lsusb同理
命令ifconfig查看接口信息
参数-a 查看所有接口
后接网卡名如“eth0”显示特定接口
命令”ifup,ifdown 网卡“启用禁用一个接口
使用setup命令可以配置网络信息
网络测试
命令ping测试连通性
ping 域名/地址
测试DNS解析
host 域名
dig 域名
显示路由表
ip route
之宗到达目标地址的网络路径
traceroute域名/地址
使用mtr进行网络质量测试(结合traceroute和ping)
mtr 域名/地址
基于关键字搜索
命令grep用以基于关键字搜索文本“grep 关键字 文本”
参数 -i 在搜索时忽略大小写
-n 显示结果所在行数
-v 输出不带关键字的行
-Ax 在输出的时候包含所在结果行之后的指定行数
-Bx ……………………………………前……………
基于列处理文本
命令cut用以基于列处理文本内容“cut -d: f1 /etc/passwd”
参数
-d 指定分割字符,默认是TAB
-f 指定输出的列好
-c 基于字符进行切割
cut -c2-6 /etc/passwd
文本统计
命令wc用以统计文本信息
参数
-l 只统计行数
-w 只统计单词数
-c 只统计字节数
-m只统计字符数
文本排序
命令sort用以对文本内容进行排序
sort linuxcast
-r 进行倒序排序
-n 基于数字进行排序
-f 忽略大小写
-u 删除重复行(ps:命令uniq删除重复行)
-t c 使用c作为分割符分割为列进行排序
-k x 当进行基于指定字符分割为列的排序时,指定基于那个列排序
文本比较
命令diff用以比较两个文件的区别“diff linuxcast linuxcast-new”/“diff linuxcast linuxcast-new > final.patch”
参数
-i 忽略大小写
-b 忽略空格数量的改变
-u 统一显示比较信息(一班用以生成patch文件)
检查拼写
命令aspell用以显示检查英文拼写
aspell check linuxcast
aspell list < linuxcast
处理文本内容
命令tr用以处理文本内容
删除关键字 tr -d ’TMD‘ < linuxcast
转换大小写 tr 'a-z' 'A-Z' < linuxcast
搜索替换
命令sed用以搜索并替换文本
sed 's/liux/unix/g' linuxcast