2018-10-03  22:20:48

一、文件目录管理命令


1、touch 命令

用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

参数:

-a :仅修改“读取时间(atime)”

-m:仅修改“修改时间(mtime)”

-d:同时修改 atime 与 mtime

2、mkdir 命令

用于创建空白的目录,格式为“mkdir [选项] 目录”。

mkdir -p:递归创建具有嵌套叠层关系的文件目录

[root@centos110 ~]# mkdir linuxprobe
[root@centos110 ~]# cd linuxprobe
[root@centos110 linuxprobe]# mkdir -p a/b/c/d/e
[root@centos110 linuxprobe]# tree
.
└── a
└── b
└── c
└── d
└── e directories, files

3、cp 命令

用于复制文件或目录,格式为“cp [选项]  源文件  目标文件”。

Linux系统中,复制操作具体分为3种情况:

(1)如果目标文件是目录,则会把源文件复制到该目录中;

(2)如果目标文件也是普通文件,则会询问是否要覆盖它;

(3)如果目标文件不存在,则执行正常的复制操作;

参数:

-p :保留原始文件的属性

-d:若对象为“链接文件”,则保留该“链接文件”的属性

-r:递归持续复制(用于目录)

-i:若目标文件存在则询问是否覆盖

-a:相当于-pdr(p、d、r 为上述参数)

4、mv 命令

用于剪切文件或者将文件重命名,格式为“mv [选项]  源文件 [目标路径 | 目标文件名]”。

5、rm 命令

用于删除文件或目录,格式为“rm [选项] 文件”。

rm -f:不询问,直接删除

rm -r:删除目录

6、dd 命令         (重点)

用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

设备文件 /dev/zero,不会占用系统存储空间,却可以提供无穷无尽的数据;

因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。

dd命令参数:

if:输入的文件名

of:输出的文件名

bs:设置每个“块”的大小

count:设置要复制“块”的个数

例:用 dd命令 从 /dev/zero 设备文件中取出一个大小为560M的数据块,然后保存成名为 560_file 的文件:

 [root@centos110 ~]# dd if=/dev/zero of=560_file count= bs=560M
+ records in
+ records out
bytes ( MB) copied, 62.0188 s, 9.5 MB/s

7、file 命令

用于查看文件的类型,格式为“file 文件名”。

 [root@centos110 ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@centos110 ~]# file /dev/sda
/dev/sda: block special

二、打包压缩与搜索命令


1、tar 命令

用于对文件进行打包压缩或解压,格式为“tar [选项] [文件] ”。

 1 -c:创建压缩文件
2 -x:解开压缩文件
-t:查看压缩包内有哪些文件
4 -z:用Gzip压缩或解压,后缀.gz
5 -j:用bzip2压缩或解压,后缀.bz2
6 -J:创建.tar.xz包,后缀.xz
-v:显示压缩或解压过程
-f:目标文件名  #特别重要,必须放在参数的最后一位
-p:保留原始的权限与属性
-P:使用绝对路径来压缩(大写P)
-C:指定解压到的目录
 打包文件:        # tar [参数] 新建文件名 源文件路径
[root@centos110 ~]# tar -cvf grub2.tar /boot/grub2
tar: Removing leading `/' from member names
/boot/grub2/
/boot/grub2/device.map
/boot/grub2/i386-pc/
...... 解包文件:   # tar [参数] 包文件名
[root@centos110 ~]# tar -xvf grub2.tar
boot/grub2/
boot/grub2/device.map
boot/grub2/i386-pc/
boot/grub2/i386-pc/gcry_rmd160.mod
......
# 创建.tar.gz包
1 [root@centos110 ~]# tar -zcvf etc.tar.gz /etc   #归档并压缩目录/etc
tar: Removing leading `/' from member names
......
[root@centos110 ~]# tar -zxvf etc.tar.gz -C /opt   #解压缩,并指定解压到/opt目录
......
[root@centos110 ~]# ls /opt
a.sh bak.sh case-if.sh etc for-.sh rh root.tar.gz sh-.sh test-.sh
# 创建.tar.bz2包
1 [root@centos110 ~]# tar -jcvf etc.tar.bz2 /etc > /dev/null  #归档并压缩目录/etc
tar: Removing leading `/' from member names
......
[root@centos110 ~]# tar -jxvf etc.tar.bz2 -C /opt > /dev/null  #解压并指定解压到/opt目录
[root@centos110 ~]# ls /opt
a.sh bak.sh case-if.sh etc for-.sh rh root.tar.gz sh-.sh test-.sh
# 创建.tar.xz包
1 [root@centos110 ~]# tar -Jcvf etc.tar.xz /etc
......
[root@centos110 ~]# tar -xvf etc.tar.xz

2、grep 命令

用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

#grep 命令参数:

1 -b:将可执行文件(binary)当做文本文件(text)来搜索
-c:仅显示找到的行数
-i:忽略大小写
  # 最常用的两个参数,几乎能完成日后80%的工作需要
4 -n:显示行号  
5 -v:反向选择—仅列出没有“关键词”的行  

示例:使用grep 命令查找当前系统中不允许登录系统的所有用户信息:

#grep -n  /sbin/nologin  /etc/passwd

3、find 命令

用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

 # find 命令参数及其作用
1 -name  #匹配名称
-perm  #匹配权限(mode为完全匹配,-mode为包含即可)
-user  #匹配所有者
-group  #匹配所有组
-mtime -n +n  #匹配修改内容的时间(-n指 n 天以内,+n 指 n 天以前)
-atime -n +n  #匹配访问文件的时间(-n指 n 天以内,+n 指 n 天以前)
-ctime -n +n  #匹配修改文件权限的时间(-n指 n 天以内,+n 指 n 天以前)
-nouser   #匹配无所有字的文件
-nogroup  #匹配无所有组的文件
-newer f1 !f2   #匹配比文件f1新但比f2旧的文件
--type b/d/c/p/l/f  #匹配文件类型(后面的字符参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size  #匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune  #忽略某个目录
-exec ......{} \  #后面可跟用于进一步处理搜索结果的命令
# 获取/etc目录中所有以host开头的文件列表
1 [root@centos110 ~]# find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
 # 在这个系统中搜索权限中包括SUID权限的所有文件
1 [root@centos110 ~]# find / -perm -4000
find: ‘/proc//task//fd/’: No such file or directory
find: ‘/proc//task//fdinfo/’: No such file or directory
find: ‘/proc//fd/’: No such file or directory
find: ‘/proc//fdinfo/’: No such file or directory
/usr/bin/fusermount
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/staprun
/usr/bin/crontab
......
 # 在整个文件系统中找出所有归属于md用户的文件并复制到 /root/findresults 目录下
# 该示例的重点是“-exec {} \;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且命令的结尾必须是“\;”
1 [root@centos110 ~]# mkdir /root/findresults
[root@centos110 ~]# find / -user md -exec cp -a {} /root/findresults/ \;
find: ‘/proc//task//fd/’: No such file or directory
find: ‘/proc//task//fdinfo/’: No such file or directory
find: ‘/proc//fd/’: No such file or directory
find: ‘/proc//fdinfo/’: No such file or directory
cp: ‘/root/findresults/md’ and ‘/root/findresults/md’ are the same file
cp: cannot overwrite non-directory ‘/root/findresults/md’ with directory ‘/home/md’
[root@centos110 ~]# ls /root/findresults
gdm parser-sha1.txt
3.22 gnome-initial-setup-done photos
abrt gnome.json Pictures
......省略输出内容......

Linux系统学习之 二:新手必须掌握的Linux命令2的更多相关文章

  1. linux系统学习(二)

    文件,目录 pwd:查看当前目录 Print Working Directory cd,ls(ll),mkdir -p Change Directory List Make Directory du ...

  2. Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

  3. 谈谈我对Linux系统学习的历程回顾

    ​​众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...

  4. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

  5. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  6. Linux系统学习之文件管理

    Linux目录分布通常是树形,所以它的结构又称为目录树. 一.文件和目录管理 [root@Cfhost-170820-UCNK /]# cd / [root@Cfhost-170820-UCNK /] ...

  7. Linux 系统学习梳理_【All】

    第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...

  8. Linux系统学习笔记(1)

    学习地址:http://www.runoob.com/linux/linux-tutorial.html 1.学习Windows和Linux哪个比较难? 前期是Windows容易学习,后期是Linux ...

  9. Linux系统网络设备启动和禁止“ifconfig eth0 up/down”命令的跟踪

    前面文章讲了Linux系统的ethtool框架的一些东西,是从用户空间可以直观认识到的地方入手.同样,本文从Linux系统绝大部分人都熟悉的“ifconfig eth0 up”命令来跟踪一下此命令在内 ...

随机推荐

  1. Android面试准备 第一天 第2-4例

    參考:http://blog.csdn.net/lmj623565791/article/details/24015867. .假设有个100M大的文件.须要上传至server中.而serverfor ...

  2. LINQ体验(2)——C# 3.0新语言特性和改进(上篇)

    整体来说.Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基础之上,.NET2.0核心本身将不再变化(假设不了解.NET2.0的朋友,请參看MSDN或者一些经典的书籍 ...

  3. 利用jQuery设计横/纵向菜单

    在网页中,菜单扮演着"指路者"的角色.怎样设计一个人性化的菜单呢.以下小编带着大家一起做. 效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...

  4. 在mac osX下安装openCV,used for python

    OpenCV是个开源的图像处理库,里面的内容多多. 想了解很多其它,请自行百度咯~ 篇blog是记录在mac下.安装openCV.然后使用python来引用openCV库. 环境是: Python 2 ...

  5. ASP.NET通用权限系统快速开发框架

    系统在线演示地址: http://120.90.2.126:8051 登录账户:system,密码:system### DEMO下载地址: http://download.csdn.net/detai ...

  6. 【POJ 3074】 Sudoku

    [题目链接] http://poj.org/problem?id=3074 [算法] 将数独问题转化为精确覆盖问题,用Dancing Links求解 转化方法如下 : 我们知道,在一个数独中 : 1. ...

  7. ROS-URDF-Gazebo

    前言:在gazebo里运行urdf文件 一.安装教程包 cd ~/catkin_test/srcgit clone https://github.com/ros/urdf_sim_tutorial.g ...

  8. SpringMVC参数绑定(二)

    在springMVC中,提交请求的数据是通过方法形参来接收的,从客户端请求的key/value数据,经过参数绑定,将key/value数据绑定到controller形参上,然后再controller就 ...

  9. Dotnet Core2.1 使用CodeFirst

    一.添加Mysql引用 二.添加连接字符串 三.配置startup.cs 三.初始化数据库 Add-Migration init Update-Database 四.数据迁移 user实体添加了pas ...

  10. Android 存储路径选择

    Android能用来存储的地方有两个,一个是手机内置的存储空间,一个是外置的SD卡,内置的存储空间一般比较小,所以应用的缓存建议存储在外置的SD卡中. 在Android系统中如何获得存储的路径呢? p ...