码迷,mamicode.com
首页 > 系统相关 > 详细

新手上路--linux命令基础

时间:2016-09-25 19:20:06      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:文件管理   linux   

1  linux 文件管理命名有哪些?

一、目录操作命令 
pwd :显示当前的目录 
cd:切换目录 
mkdir [参数]<目录名>    参数-p:循环建立目录 
rmdir [参数]<目录名>  参数-p:循环删除目录,删除空的父目录 
二、文件操作命令 
1、  ls  [参数] 目录名                    功能:显示目录中的文件 
-a:显示目录下的所有的文件 
-l:以长格式显示目录下的文件,熟知每行的信息 
-f:显示文件名同时显示文件类型 /、@、*、| 
-r:递归显示 
-t:按照修改时间排列显示 
-:普通文件 
d:目录 
l:符号连接 
b:块设备文件 
c:字符设备文件 
2、touch [参数] 文件列表                功能:建立一个新文件 
-t:用给定的时间更改文件的时间的记录 
3、cp[参数] 源文件或目录 目标文件或目录    功能:复制 
-a:复制目录时使用,保留连接、文件属性并递归的复制目录。 
-f:若文件在目标目录中存在,强制覆盖 
-i: 若文件在目标中已存在,提示用户是否进行覆盖 
-r:    若给出的源文件是一个目录文件,复制该目录下的所有文件和子目录 
-p:除复制源文件的内容外,还将其修改时间和权限也复制到新目录中去 
4、mv [参数]  源文件目录或文件  目标文件或目录  功能:移动 
-f:忽略存在的文件,从不给出提示,强制移动 
-i:进行交互式移动 
-r:递归移动 
-v:显示命令执行过程 
5、rm [参数] 文件名  功能:删除 
-f:强制删除 
-i:进行交互式删除 
-r:会列出全部的目录或文件,交互式删除,若无r则不会删除,删除目录只能r 
-v:显示命令执行过程 
6、clear  清屏 
7、ln [参数] 目标 连接名  功能:文件链接 
-f:链接时直接覆盖已存在的文件名 
-d:允许系统管理者硬链接自己的目录 
-i:在删除与链接文件名同名的文件时先进行询问 
-n:在进行软连接时,将链接视为一般的文件 
-s:进行软连接 
-b:将在链接时会被覆盖或删除的文件进行备份

三、文件内容操作命令 
8、cat [选项] 文件名  功能:显示文件、连接多个文件形成新的文件 
-n:由1开始对所有输出的行数进行编号 
-b:与n类似,不同的是对空白行不进行编号 
-s:遇到有连续两行以上的空白行时就代换为一行空白行 
-v:用一种特殊的形式显示控制字符,LFD和TAB除外 
-E:在每行的末尾显示一个$符,该选项要与v一起使用 
9、more  [选项] 文件名  适合显示长文件一次一屏按空格键下屏,enter下行,Q推出 
-num:一次显示的行数 
-d:提示使用者 
-f:计算行数时,以实际的行数,非自动换行后的行数 
-p:不移卷动的方式显示每一页,而是先清屏后再显示内容 
+num:从第几行开始显示 
10、less [选项] 文件名  与more基本类似,允许卷动已经浏览过的部分 
11、head -n 文件名  输出头几行内容,默认是十行 
12、tail  与more正好相反 
+num 从第几行以后开始显示 
-num 从距文尾num出开始显示 
四、文件查找命令 
find [路径] [参数][文件名] 
-name:"文件名" ,表示查找指定的名称文件 
-lname:"文件名" ,查找指定文件的所有的链接 
-user:用户名 ,查找指定用户拥有的文件 
-group:组名,查找指定组拥有的文件 

五、文件内容查询命令 
1、grep[选项] 文件名1,文件名2,······文件名n 
功能:以指定的模式搜索文件,并且可以打印出所有包含该字符串的文本行 
常用选项: 
-i:查找时忽略字母的大小写 
-l:仅输出包含该目标字符串的文件的文件名 
-v:输出不包含目标字符串的行 
-n:输出每个含有目标字符串的行及行号 
例题:#grep ‘tom‘ test-g //单引号指的是shell不解释引号内的字符。在test-g中查找人 名  tom。#grep -n ‘ab‘ test-g 在test-g中查找ab并且输出相应的行号和该行号的内容。


2,bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容

bash的工作特性之命令执行状态返回值:

命令执行完后,其状态返回值保存于bash的特殊变量$?中,成功为0不成功则为一个非0的值

注意,命令执行状态返回值和命令的执行结果间的区别。不管命令是否成功执行,都会有相关数据显示,但是命令执行状态返回值却是不同的


命令行展开所涉及的内容:


~:自动展开为用户的家目录,或指定的用户的家目录。

#:为root的家目录

{}:可包含一个以逗号分割的路径列表,并能够将其展开为多个路径。


3、用命令行展开功能完成练习

1 创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost tmp]# mkdir {a,b}_{c,d}

技术分享

3.2 创建/tmp/mylinux目录下的:
mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │       └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │       ├── bin
    │       └── sbin
    └── var
        ├── lock
        ├── log
        └── run12345678910111213141516171819202122232425
[root@localhost tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

技术分享



4. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

使用stat命令查看
[root@localhost mytest3]# stat ntp.conf 
  File: `ntp.conf‘
  Size: 1923        Blocks: 8          IO Block: 4096   regular fileDevice: 802h/2050d  Inode: 940485      Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2013-01-10 07:14:31.000000000 -0800Modify: 2013-01-10 07:14:31.000000000 -0800Change: 2016-06-14 05:59:35.931012927 -0700可使用touch命令修改时间戳信息123456789101112

5. 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

使用alias命令
例如:[root@localhost tmp]# alias la=‘ls -la‘命令引用:
name=`COMMAND`, name=$(COMMAND)12345

6. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

# ls -d /var/l*[0-9]*[[:lower:]]1

7. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

# ls -d /etc/[0-9]*[^0-9]1

8. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

# ls -d /etc/[^[:alpha:]][[:alpha:]]*1

9. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

[root@localhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`[root@localhost tmp]# ll|grep tfile-2016-06-14-05-52-37 -rw-r--r--.  1 root  root     0 Jun 14 05:52 tfile-2016-06-14-05-52-37123

10. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@localhost tmp]# cp -a /etc/p*[^0-9] /tmp/mytest11

11. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

# cp -a /etc/*.d /tmp/mytest21

12. 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

[root@localhost tmp]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3



新手上路--linux命令基础

标签:文件管理   linux   

原文地址:http://10899641.blog.51cto.com/10889641/1856267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!