新手上路--linux命令基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手上路--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
[[email protected] 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
[[email protected] 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命令查看 [[email protected] 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命令 例如:[[email protected] 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。
[[email protected] tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`[[email protected] 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目录中。
[[email protected] 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目录中。
[[email protected] tmp]# cp -a /etc/[l,m,n]*.conf /tmp/mytest3
以上是关于新手上路--linux命令基础的主要内容,如果未能解决你的问题,请参考以下文章