目录
man指令
cp指令
mv指令
tree指令
echo指令
more指令
less指令(重要)
head与tail指令
date指令
显示时间常用参数:
设置时间常用参数:
cal指令
find & whereis & which指令
grep指令
zip/unzip指令
tar指令
文章导读
本章主要内容有Linux基本指令:man、cp、mv、tree、echo、more、less、head、tail、date、cal、find、whereis、which、grep、zip、unzip、tar指令等。
正文
man指令
功能:查看Linux提供的帮助手册;
语法:man [选项] [索引];
安装方法:输入指令:
yum install -y man-pages
常用选项:
◆ -k 根据关键字搜索联机帮助;
◆ n 只在第n章节找;
◆ -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
解释一下,man手册分为 8 章:
1 是普通的命令;
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件);
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件;
5 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义;
6 是给游戏留的,由各个游戏自己定义;
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明;
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig;
示例:
▶ man 1 printf 在手册第一章中查询printf指令;
▶ man fork 在手册所有章节中查询fork指令,找到就停下;
cp指令
功能:复制文件或目录;
语法:cp [选项] 源文件或目录 目标文件或目录;
说明:要将源文件或目录copy到目标文件或目录,前提是目标文件或目录存在;
常用选项
:◆ -f 或 --force 强行复制文件或目录,不论目标文件或目录是否已经存在;
◆ -i 或 --interactive 覆盖文件之前先询问用户;
◆ -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理;
◆ -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理;
示例:
在一个目录下有两个文件:dir1、dir2。
▶ cp test.txt ../dir1 拷贝dir2下的 test.txt 文件到dir1目录(..为上级目录);
▶ cp -r dir2.1 ../dir1 拷贝dir2下的 dir2.1 目录到dir1目录;
mv指令
功能:相当于Windows下的剪切或重命名;
语法: mv [选项] 源文件或目录 目标文件或目录;
常用选项:
◆ -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
◆ -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
示例:
在一个目录下有两个文件:dir1、dir2。
▶ mv test.txt ../dir1 将dir2中的 test.txt 文件剪切到dir1目录下;
▶ mv dir2.1 ../dir1 将dir2中的 dir2.1目录剪切到dir1目录下;
▶ mv test.txt name.txt 将 test.txt 重命名为 name.txt;
tree指令
功能:树状的展示目录结构,方便查看;
语法:tree 目标目录;
安装方法:输入指令:
yum install -y tree
示例:
tree test_2_13 展示目录test_2_13下的文件和目录;
echo指令
功能:向文件输出内容;
语法:echo "内容";
说明:输出内容时,一般建议加双引号;如果不加重定向符号,默认在显示器输出,所以可以利用重定向操作符向某个文件中输出内容;
> //输出重定向 >> //追加重定向
示例:
▶ echo "aaaaa" 默认向显示器输出;
▶ echo "bbbbb" >> test.txt 利用追加重定向在文件中输出内容,若该文件不存在则会自动创建。
more指令
功能:功能类似cat;
语法: more [选项] [文件];
常用选项:
◆ -n 对输出的所有行编号;
◆ q 退出more;
less指令(重要)
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。;
语法: less [选项] [文件];
说明:
▧ less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;
▧ less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看;
▧ 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易来查看一个文件的内容!
▧ 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
常用选项:
◆ -i 忽略搜索时的大小写
◆ -N 显示每行的行号
◆ / 字符串:向下搜索“字符串”的功能
◆ ? 字符串:向上搜索“字符串”的功能
◆ n: 重复前一个搜索(与 / 或 ? 有关)
◆ N: 反向重复前一个搜索(与 / 或 ? 有关)
◆ q: quit
head与tail指令
功能:head用来输出文件的前 n 行内容;tail用来输出文件的最后n行的内容;若是未加参数则默认 n 为10;
语法: head [参数] [文件];tail [参数] [文件];
常用选项:
◆ -n <行数>
示例:
▶ 显示test.txt文件中前20行的内容;
head -n 20 test.txt
▶ 显示test.txt文件中后20行的内容;
tail -n 20 test.txt
date指令
功能:在Linux中显示时间或者设置时间;
语法: head +[参数];
显示时间常用参数:
◆ %H: 小时(00..23);
◆ %M: 分钟(00..59);
◆ %S: 秒(00..61);
◆ %X: 相当于 %H:%M:%S;
◆ %d: 日 (01..31);
◆ %m: 月份 (01..12);
◆ %Y: 完整年份 (0000..9999);
◆ %F: 相当于 %Y-%m-%d;
设置时间常用参数:
date -s //设置当前时间,只有root权限才能设置,其他只能查看;
◆ date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00;
◆ date -s 01:01:01 //设置具体时间,不会对日期做更改;
◆ date -s “01:01:01 2008-05-23″ //这样可以设置全部时间;
◆ date -s “01:01:01 20080523″ //这样可以设置全部时间;
◆ date -s “2008-05-23 01:01:01″ //这样可以设置全部时间;
◆ date -s “20080523 01:01:01″ //这样可以设置全部时间;
示例:
▶ date 显示时间;
▶ date +%Y-%m-%d 格式化显示时间;
cal指令
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份;
语法: cal [参数][月份][年份];
常用选项:
◆ -3 显示系统前一个月,当前月,下一个月的月历;
◆ -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数);
◆ -y 显示当前年份的日历;
示例:
▶ cal 显示当月日历;
find & whereis & which指令
功能:用于在磁盘中查找文件,告知所在路径;
语法: find / whereis / which [文件];
常用选项:
◆ -name 按照文件名查找文件(适用于find)
grep指令
功能:在文件中搜索字符串,将找到的行打印出来;
语法:grep [选项] [字符串] [目标文件];
常用选项:
◆ -i :忽略大小写的不同,所以大小写视为相同;
◆ -n :顺便输出行号;
◆ -v :反向选择,即显示出没有 '搜寻字符串' 内容的那一行;
zip/unzip指令
功能:将目录或文件压缩成zip格式;
语法: zip [压缩文件.zip] [目录或文件];
安装方法:输入指令:
yum install -y zip unzip
常用选项:
◆ -r 递归处理,将指定目录下的所有文件和子目录一并处理;
▶ 示例:
将dir2目录打包并压缩为dir2.zip;
▶ 在当前目录解压缩:
tar指令
功能:将目录或文件压缩成tar格式;
语法:tar [参数] [文件或目录];
常用参数:
◆ -c :建立一个压缩文件的参数指令(create 的意思);
◆ -x :解开一个压缩文件的参数指令!
◆ -t : 查看 tarfile 里面的文件!
◆ -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
◆ -j : 是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
◆ -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
◆ -f : 使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
◆ -C :解压到指定目录;
初学者一般所用到的指令就这些,随着学习的深入我们还需要学习更多的指令。