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了