📢📢📢 阿里云双十一,赠送您一张全场8折折扣优惠券

📢📢📢 2核2G3M的服务器,99元一年,新老用户续费同享!!

Linux 基本命令 (1)dd tar chmod mount find

很久之前看了鸟哥 感觉这个书还是很不错的   很多东西都很全面  学到很多   但是有很多说它太琐碎了    我觉得不错啊   今天五一放假第二天   无聊没事干 抽空把linux基本命令整理下吧  那些不常用的我就基本也忘掉了   主要是几点会用到 但是我又觉得很重要的的命令  cd啊 ls啊  rm啊什么的  我就不写了  没什么意思

也不按什么字母顺序什么的写了  我就想到什么写什么了

1.  dd

这个命令牛x啊   是用来读取和输出的   用法

1
dd  if=hehe of=haha  bs=1M  count=20    # 从hehe文件读取 数据  然后写到haha这个文件  每次读写1M  操作20次

后面两个参数可有可无   但是这个命令我用的最多的地方是  linux下刻系统镜像      用法

1
dd if=xxxxx.iso  of=/dev/sdb      # /dev/sdb是u盘啊什么的之类的设备  

唯一不足的地方是没有进度条啊啊啊啊  啊啊啊 啊啊啊   完全不能忍   反正到目前为止  我没有刻成功过一次。。。。。。。。基本都是没有耐心然后ctrl C掉的。。。   没进度条就心慌慌的  。。。  还可以备份磁盘分区表啊什么的   因为dd是可以直接读取磁盘上的所有内容的

2. tar

这个命令啊  非常非常重要      linux下最常见的打包压缩命令   但是我就是老记不住用法
j是用bzip2压缩格式 .tar.bz2      z是用gzip压缩 .tar.gz   x是解压  c是压缩      但是在实际使用过程中  我发现解压的时候j和z是可有可无的   t是查询压缩文件  v是解压缩过程中查看当前进度 常用的命令

1
2
tar -jvcf  heh.tar.bz2  f1 f2 f3   # 把f1 f2 f3 用bzip2压缩并打包成 heh.tar.bz2这个压缩包
tar -jvxf  heh.tar.bz2  -C  heh    # 把heh.tar.bz2解压到heh这个文件夹  注意  这里是大写的C

但是实际中 的zip格式的压缩包可以用unzip  解压  rar可以用unrar解压    或者直接用7zip  跨平台的压缩工具  linux下蛮好用的   一句解压所有格式

3. chmod

刚刚我还在犹豫要不要写这个   毕竟这实在没什么好记的  更改文件权限   用法

1
chmod  -R 777   heheh  #把heheh文件权限改成777   如果是文件夹  R表示这个文件夹下的所有的子文件和子文件夹

4. mount

这个其实也没什么好写的   用法

1
mount /dev/sdb1  /mnt/  #把sdb1挂载到/mnt/上  

但是!!    我把这个命令写出来是有原因的   用mount可以直接挂载iso镜像文件 然后直接访问!!   这尼玛厉害了啊!  用法

1
mount -o  loop   heh.iso   /mnt/ 

这样就可以直接到/mnt里面查看这个镜像了 利用dd和这个命令  还可以 在不重新磁盘分区的情况下  制作一个假的分区

1
2
3
dd  if=/dev/zero  of=hhhh  bs=1M   count=2048       #新建一个2G的文件
mkfs -t ext4  hhhh    # 给这个文件格式化!! 好厉害 震惊了我
mount  -o   loop  hhhh  /mnt/ # 挂载文件

嘿嘿  然后就可以在里面放点乱七八糟的东西了  嘿嘿~~  这个文件直接是打不开的
利用这个还可以不用分区  给系统做个 swap  具体的我就不说了   还是很简单的

5. find

find 啊   用处还是很大的  查找什么  批量操作啊什么的     我主要有两个用途吧 我略想了下
第一个当然是查找文件什么的啦   用法

1
find . -name  "heh" # 这个参数是全部匹配,而不是匹配部分,比如这个命令只能查找名字为 heh 的文件,不能查找 heh.jpg 这个文件

查找名字中有heh的文件或文件夹   可以正则匹配哦   注意  name是区分大小写的 iname是不区分大小写的  当然  不仅仅是可以用-name啦 还可以用-num 配合 ls -i 和下面那条    操作名字乱码的文件   -num是按文件的inode序号查找     -type   f 表示查找文件  -type  d是文件夹  各种其他参数 自己再看吧 size 文件大小 perm 权限     atime  ctime mtime 各种时间 最近读取时间  状态变化时间 修改时间
然后是批量文件操作

1
find -name "*.php" -exec chmod a+w {} \; # 查找所有的 php文件 然后给他们加上写的权限

还有个例子

1
find -name "*.php" -exec rm {}  \;  # 删除所有的php文件  

注意最后那个 反斜杠和分号 不能漏了   {}表示查找出来的文件  exec后面可以接上大多数的命令  {}就可以作为这些命令的参数传入进去     批量文件操作 除了用find自带的参数进行操作  也可以用管道| 配合 xargs 进行批量操作  具体的可以再查看xargs命令的用法  我不打算写  因为用的不是很多  find自带的就很牛x了