linux基础(未完)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础(未完)相关的知识,希望对你有一定的参考价值。

file filename               #查看文件的类型
chmod -R 777 dir/                #文件夹,以及之下的文件全部改变权限
chown zhang:zhang dir/         #将文件夹更改目录及所属的组
which pwd                          #命令所在的位置
whereis pwd


cd ~zhang/  # 切换到该用户的家目录
cd -         #切换到上一次用cd的目录


mkdir -p   /zhang/z            #创建一个文件夹,父文件夹不存在,同时创建父文件夹
mkdir -p   zhang/{zz,xx,xx}    #同时创建多个文件夹

rmdir -p zhang/zz              #删除子文件夹,如果父文件夹下是空的,删除父文件夹
rm -rf zhang                   #强制删除整个文件夹,  -r的意思是递归

ls -1  # 1,2,3 的1,一个一个显示的文件夹下的文件
ls -s  #显示这个文件下的总的大小
ls -h  #以便于人类的方式查看大小
ls -d  #只查看文件的大小
ls -dl --time=ctime

cp -rf /etc  zhang/   #文件的属性信息没有复制过来  -p 可以复制属性信息
cp -a /etc  zhang/  a 这个选项,可以相当与上面的属性的集合
cp -u /etc/services  /mnt/services  # 相当与 update
cp systemlink filename  #将ln对应的文件,复制
cp -d systemlink filename  #复制的是链接  -d

basename /etc/grub/grub.conf  #只显示文件名
od -t 什么类型 /bin/ls
strings /bin/ls   #查看非文本的内容


vim filename
touch filename  #文件存在则更新到当先的时间


文件的权限是666   ----  因为文件一创建的时候不可能是可执行的
文件夹的权限是777
系统默认的umask的值是0022  八进制
umask -S  #可以查看使用的模式


lsattr filename 查看特殊权限

chattr +a dirname #只能添加文件夹的内容,不能删除,修改存在的文件
chattr +i dirname #不能添加也不能删除
chattr -i dirname #取消 -选项

chmod u+s  filename #在命令所有者的权限上,其他人执行这个命令,则其他人拥有所有者的权限
chmod u-s  filename#取消设置标志位
chmod g+s  dirname #这个文件夹下的所有的组,都会继承所属的组
chmod o+t  dirname #只能是在目录上,只能在other位置上;创建的文件只有root,和所有者能够删除


locate qwer  #通过数据库查找文件
locate -i qwer  #忽略大小写
ls /var/lib/mlocate/mlocate.db  #会自动一天更新一次
updatedb   #更新数据库


find 目录 -属性 值

dd if=/dev/zero of=/file bs=1M count=3

-------------------------------------------------
------------------------------------------------

一个磁盘的组成:
1.bootsector  引导扇区
2.superblock  超级块
3.inode  -- 其中存储的是文件的属性信息,block
    一个inode有128字节,指向一个block要消耗4字节
    一个inode最多能指向128K
4.block  -- 每一个都有一个编号
    文件过大的时候
    直接block存储数据
    间接block中存放的是其他block的信息


stat filename  #查看文件的状态信息
ls -i filename #查看文件使用的inode
filefrag -v filename  #查看文件的状态信息,分布在哪些block里面
dumpe2fs /dev/sda2 #查看磁盘的状态信息
df -hT  #T显示文件的类型


fdisk /dev/sda  #去建立新的分区
partprobe /dev/sda  #更新分区表
mkfs -t ext3 /dev/sda5  #格式化新建立的分区
mkfs.ext4 /dev/sda5
mount /dev/sda5 /mnt  #挂在这个新建立的分区

fsck /dev/sda5  #检查分区的坏道  -C 可以显示检查的过程  
badblocks /dev/sda5  #检查磁盘的坏道

mount -o remount,ro /mnt   #重新挂载,以只读的模式挂在
/etc/fstab  #关于挂载的目录


tune2fs -l /dev/sda5 #查看磁盘的信息


gzip hosts
gzip -d hosts.gz  #解压
gzip -c hosts > hosts.gz #压缩,并且保存原文件
zcat hosts.gz

bzip2 hosts
bzip2 -d hosts.bz2
bzip2 -c hosts > hosts.bz2
bzcat hosts.bz2

zip file.zip file
unzip file.zip

tar:
c 创建
v 可视
f 创建之后的名字

tar cvf one.tar --remove-files  #打包好,删除原始文件
tar xvf one.tar   #解档文件
tar xvf one.tar -C dirname/  # -C解档到指定的文件夹
tar tvf one.tar  #查看文件
tar xvf one.tar aa  #解档其中的一个文件
--
打包并压缩
tar zcvf one.tar.gz aa bb cc dd   #gzip
tar zxvf one.tar.gz

tar jcvf one.tar.bz2 aa bb cc dd   #bzip2
tar jxvf one.tar.bz2


增量备份:一次一次的增加,所以恢复的时候也是一次一次的恢复
差异备份:先一次完全备份,再将之后备份的和在一起,回复的时候,只需一次
备份级别0-9 :只会从上一次备份级别比它小的备份(备份增长的内容)

增量备份
dump -0u -f rech/0.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump
dump -1u -f rech/1.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump
dump -2u -f rech/2.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump
 
差异备份:
dump -0u -f rech/0.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump
dump -2u -f rech/1.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump
dump -1u -f rech/2.dump /dev/sda3 #将/dev/sda3备份到rech/1.dump

查看备份文件:
restore -t -f rech/1.dump

进入需要回复的位置,恢复:
restore -r -f rech/0.dump
restore -r -f rech/1.dump
restore -r -f rech/2.dump


恢复特定的数据:
restore -i -f rech/0.dump
> ls  #列出文件
> add aa bb  #要恢复的两个文件
>extrace


制作镜像文件:
dd if=/dev/zero of=/file1 bs=1MB count=1
dd if=/dev/zero of=/file2 bs=1MB count=1
dd if=/dev/zero of=/file3 bs=1MB count=1
mkiosfs -o xx.ios file1file2 file3
挂载
mount -o loop xx.ios /mnt

将光盘拷贝成一个镜像:
cp /dev/cdrom xx.ios

拷贝硬盘:
dd if=file of=/dev/sda3

cpio命令要使用管道 -o 打包  -i 解包
find -name ‘file*‘ | cpio -o > xx.cpio
解包
cpio -iu < xx.cpio

以上是关于linux基础(未完)的主要内容,如果未能解决你的问题,请参考以下文章

运维之路梳理———未完,待更

Python全栈之路Day2 (补)

Linux设备驱动开发学习:Linux设备驱动简介(未完)

MongoDB基础教程系列--未完待续

Python基础:内置异常(未完待续)

python基础---常用模块(未完待续)