linux常用指令

qmao&&&&&&&& 1 &&&&&&&&linux文件系统管理
概念介绍:
1》分区
分区就是要记录每一个分区的起始与结束柱面,这些记录信息放在哪里呢?主引导区(MBR)就是,一块硬盘的第0轨上,这个也是计算机启动要去使用硬盘时读取的第一个区域,仅提供最多4个分区的记忆
2》文件系统
格式化是为了使分区的格式成为操作系统能够识别的文件系统,linux的标准文件系统是ext2.
硬盘的最小存储数据的单位是扇区,但是一个扇区大小512字节,为了提高效率,有了逻辑块这个概念,块(块的大小为扇区的2的n次方倍)成为存储文件的基本单位,块的大小也是有技巧的,如果像BBS主机由于文章较短,文件较小,那么块小一点好,如果太大,可能造成空间浪费,如果主机主要是为了存储一些大容量的文件,那么要考虑到提高效率,块大一点比较好。
在标准的ext2中将每个文件的内容分为两个部分来存储,一个是文件的属性,另一个则是文件的内容,这两个部分分别存放在inode和块中,inode中记录的是(该文件的相关属性,《文件的拥有者和用户组,访问模式,类型,建立或状态改变的时间,文件的大小,文件属性的标志,》真正内容的指针《文件内容存放在哪个区》)
3》文件系统的运行
linux通常采用异步处理的方式
当系统读取某个文件,则该文件所在的块会加载到内存中,所以该磁盘块就会放在主存区的缓冲区中,若这些块的数据改变时,刚开始只要主存器中的块数据会改变,并且标记为dirty,磁盘实体中的数据尚未修正,这些dirty中的数据必须回写到磁盘中
4》载入点
格式化的分区必须载入才能使用,载入点一定是目录而不是文件,载入点就是进入该文件系统的入口
5》连接
硬链接:某个目录下新增了一个该文件的关联数据,比如说/root/tab为一个硬链接的文件,它连接到了/etc/tab文件,tab文件的inode与块都没有变,只是有两个目录记录了关联文件,删除一个不影响另一个
软连接:快捷方式,让数据的读取打不开指向他连接的文件的内容,当源文件被删,则出错,
指令操作:
1 df(report file system disk space usage)df 没有参数,将系统内所有分区列出来
查看磁盘容量的
2 du
查看文件的容量 du 没有参数 将当前目录下的所有文件的总容量

例子:检测根目录下每个目录所占用的容量
du -sm /* (s只统计目录的总容量,而不讨论目录下的文件的容量)
3 fdisk 分区
修改“分区表”修改哪些分区是从哪一个柱面到哪一个柱面的信息
删除 d 新增 n
4 mkfs 磁盘格式化
mke2fs -j -l “logical” /dev/hdb5 (参数j表示将ext2格式转换为ext3,l表示后面为其卷标名)
或者是
mkfs -t ext3 /dev/hdb5
5 mount 磁盘载入与卸载(也可以修改/etc/fstab使得系统已启动就载入)
要将建立起来的磁盘文件在linux上启用,一定要将它载入文件系统,而所谓的载入点,则是该分区所在的目录,该目录下所有目录都归该分区所有
mkdir /mnt/hdb5
mount -t ext3 /dev/hdb5 /mnt/hdb5 (t参数表示以ext3格式载入)
umount 设备号或载入点  卸载设备文件
6 fsck 检查与修正硬盘错误的命令
fsck -t ext3 /dev/hdb5 检查之前建立的设备
fsck -t ext3 -a /dev/hdb5 检查并自动修复
执行fsck时,被检查的分区务必不可载入到系统上,也就是应在卸载状态
需要检查时的场合:
系统出现大问题,导致linux启动时要进入单用户,单机模式进行维护,另外如果怀疑刚刚格式化成功的硬盘如果有问题。

7 建立虚拟内存
虚拟内存就是将硬盘划出一个区间,让内存的数据可以通过硬盘来读取
第一种方法,直接加入一个硬盘,将其中某个区规划为swap的文件系统
1 fdisk /dev/hd[]
2 将分区的ID改为82.虚拟内存的磁盘格式代码
3 mkswap /dev/hd[][] 格式化为swap的文件格式
4 启动swap swapon /dev/hd[][] 虚拟内存自动加入到内存容量了
5 swapoff关闭
第二种方法,
不想新建一个分区,用虚拟内存文件的方式
1 dd if=/dev/zero of=tmp/swap bs=4kb count=16382
if指的是要转换的输入文件格式
of指的是输出文件格式
bs指的是一个分多少kd
count 有多少个分区
建立一个文件名为tmp/swap,文件大小为64MB
2 mkswap 格式化为swap文件格式
3 使用swapon启动
使用swapoff关闭
c
******************************************************************************************
&&&&&&& 2 &&&&&&&& linux文件与目录管理

1 切换目录 cd.当前目录
cd .. 返回上层目录 cd - 返回上次操作的目录 cd ~ 返回用户登录的家目录
2 pwd(print working directory)
显示当前所在的目录
3 mkdir(建立新目录)
4 rmdir(删除空目录)要想删除嵌套的目录 必须使用 rm -rf text
5 路径
环境变量PATH,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的先执行
echo $PATH(查看)
PATH="$PATH":/root(添加环境变量)
6  ls (查看文件与目录)
ls -l 包含文件的属性
7 cp,rm,mv(复制,移动,删除)c
mv(还可以重文件命名)
参数 r递归
i 交互,询问
f 强制,不询问
8 查看文件内容
cat(将一个文件的内容连续显示在屏幕上)
tac(反向显示)
nl (numbers lines显示时贴加行号)
more less (一页一页翻,more只允许向下翻,less允许上翻也允许下翻)
以上查看纯文本rrq
查看非纯文本od
9 touch(创建文件,修改时间)
touch texttouch(创建文件)
touch -d "2 days ago" texttouch
touch -t 0507170202 texttouch
atime 和mtime都变了,但是ctime没变,记录的是当前的时间
10 搜索文件
find速度慢,耗费硬盘空间,通常使用whereis或者locate来检查,如果找不到,在使用find来搜索mv
因为whereis 与locate是使用数据库来搜索数据,当然也有限制,如果你的文件是新建立的,在数据库更新之前查找,找不到的,可以把/etc/updatedb.conf里的DAILY_UPDATE=yse,或者是手动update
10.1 which command
whereis [] 文件或目录名 (寻找特定文件,全称)
locate filename(文件的部分名称)
上面搜索虽然快,但有缺陷,只能根据名字类搜索,但find功能很强大,可以根据很多文件的属性来搜索,下面介绍强大的find
find [path] [option] [action]
1与时间有关的参数
根据不同的时间来搜索
-atime n 那天前的一天之内访问过的文件
-ctime n
-mtime n
-newer file 只要文件比file还要新,就会被列出来
2 与用户或用户组名称有关的参数
-uid n
-gid n
-user name
-group name
3 与文件权限即名称有关的参数
-name filename
-size [+-]SIZE 搜索比size大或小的文件
-type
-perm mode 文件属性刚好等于mode的文件
-perm -mode 全部包括mode的属性文件
-perm +mode 包含任一mode的属性文件
4 附件操作
-exec command 这个也可以用管道来实现
******************************************************************************************
正则表达式
字符串选取功能的工具程序是grep(查找字符串)
grep '搜索字符串' filename
1 搜索特定字符串
grep  -in  'the' express.text(i忽略大小写,n输出行数)
2 利用[]来搜索集合字符
[]中不论有几个字符,都只能代表”一个字符“
例子:grep -n 't[ae]st' express.text
查找到的是tast或test字符
例子:想搜到有'oo'的字符
grep -n 'oo' express.txt
例子:不想oo前面有g的话,可以利用集合字符的反向选择
grep -n '[^g]oo' express.txt
例子:在一组集合字符中,如果该字符组是连续的,例如大写英文、小写英文,数字等,就可以使用[a-z][A-Z][0-9]等方式来写,也可以似要求全部写在一起
[a-zA-Z0-9]
例子:取得有数字的那一行
grep -n '[0-9]' text.txt
3 行首与行尾字符 ^ $定位符
例子:查询一行字符串里有the,如果想让the只在行首列出
grep -n '^the' express.txt
例子:列出开头是小写字母的那一行
grep -n '^[a-z]' express.txt
例子:不想开头是英文字母
grep -n '^[^a-zA-Z]' express.txt
例子:找出行尾结束为小数点(.)的一行
grep -n '\.$' express.txt
(\)转义字符用来解除其特殊意义
4 任意一个字符用 (.)重复字符(*)
.决对有一个任意字符,*表示重复0个或一个前面的re字符
例子:
假设要找出g??d字符串,即共有4个字符,起始是g结束是d
grep -n 'g..d' expree.text
例子:至少一个o,至少两个o
grep -n 'oo*' express.txt
grep -n 'ooo*' express.txt
例子:找出以g开头,g结尾,中间的字符可有可无
不能是g*g,这个表示的意思是g*代表空字符或一个以上的g,加上后面的g。结果是g,g,ggg,gggg
应该是这样的
g.*g
5 限定连续重复字符范围{}
例子:找到两个o的字符串
'o\{2\}'
例子:g后面接2~5个o
'go\{2,5\}g'

******************************************************************************************
文件属性

更改文件权限
1 chgrp 改变所属用户主
2 chown 改变文件拥有者
3 chmod 更改9个属性
可以使用数字或者符号
chmod 777 .text
chmod u=rwx,g=x,o=rx .text
chmod a+w .text
chmod a-w .text
 新增一个文件时默认的权限是什么?
这与umask有关
1 查看文件的默认权限
umask
umask -s
umask指的是该默认值需要减掉的权限
如何设置呢?
简单的操作:在umask后面加上 002
2 文件的隐藏属性
chattr [+-=] [shuxing] 文件或目录名
A:当设置了A属性时,这个文件的访问时间不能被改变
i:当设置了i属性时,它可以让一个文件不能“被删除,改名,设置连接,也无法写入或新增数据”
对于系统安全性有很大的帮助
lsattr(显示文件的隐藏属性)
lsattr [-aR] 文件或目录
3 文件特殊权限:SUID/SGID/Sticky Bit


******************************************************************************************

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值