提示:以下是本篇文章正文内容,下面案例可供参考
一、pwd,who,whoami
(1) pwd
查看当前所处是目录的路径位置
(2)who和whoami
who:是查看近期谁登入过
whoami:是查看当前用户是谁
二、ls指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录 -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件 -l 列出文件的详细信息。 -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别) -r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。
(递归) -1 一行只输出一个文件。
了解:文件=内容+属性
即使一个文件内容为空也是占内存的,我们对文件的操作就是内容和属性
l:显示文件中的目录和文件,不包括隐藏文件
ls -al :显示文件的详细信息包括隐藏文件(以.开头的文件)
三.cd 指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
cd 可以跟路径或者当前目录下的文件或者目录
路径:绝对路径,相对路径
绝对路径:每个节点的父节点只有一个所以根据目录树可以唯一确定一条路径,它可以找到任何一个文件的位置。例如:/home/bit/test.c
相对路径:跟自己节点相关的。..user就到了上一个文件的位置
指令pwd显示当前所处的目录/home/22这个是家目录(用户的)cd可进入到该目录下的文件或者目录(110)。cd ../.. 指令..进入上一级目录..在进入到上一级目录。/是Linux下的路径分隔符,区分路径。cd /home/22/100这个是绝对路径从家目录或者根目录开始。
一般情况下我们使用相对路径。
四.touch命令
语法:touch [选项]... 文件... 功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
我们可以用touch建文件
当然我们也可以用代码循环一次建多个文件
i=0; while [ $i -le 10 ]; do touch test.$i; let i++; done 文件test.1~10
> + 文件名 这个符号也可以创建文件。注意的是如果文件已经存在,会清空文件,我们也可以用它来清空文件内容。
建test.110 文件
五.mkdir指令(重要):
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
mkdir –p test/test1 : 递归建立多个目录
mkdir test 建立一个目录
七.rmdir指令 && rm 指令(重要):
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName] 适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录 常用选项: -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。 rm命令可以同时删除文件或目录 语法:rm [-f-i-r-v][dirName/dir] 适用对象:所有使用者
功能:删除文件或目录
常用选项: -f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
八.man指令
如果没有man手册:输入 yum install -y man-pages
如果我们记不住指令,可用来查询
1.man man 我们可以看到它有七个编号
2.man + 手册编号+查找内容,如果我们知道要查找的内容属于哪一章,就可以这样子,当然直接
man +内容也是可以的
例子,假如我们要查询指令ls 就可以知道相关选项(只截取了部分)
九.cp 指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息
常用选项: -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
注意,拷贝的文件到目的地,不可以有同名的文件。
文件拷贝到当前目录 cp +test.c+ newtest.c .当前目录下就有一个相同内容的新文件(不同名)
文件拷贝到上一级目录 cp +test.c + ..
目录的拷贝要采用递归形式,因为是多叉树的原因.同时隐藏文件是不拷贝过去的
八.mv指令(重要)
经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
常用选项: -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
备份:例如 mv code /home/22/copy 如果路径下copy不存在,它就会在22目录下创建copy然后在剪切过去,如果存在copy就直接剪切到这个目录下面。
我们也可以通过这个对我们的目录或者文件重命名,文件名test就被改成test.2
九.which和alias
which可以查看指令的路径,alias可以对命令重命名
十.echo
echo默认是向屏幕输出,写什么就向屏幕打印什么。键盘的输入并不是直接向屏幕输入,在linux下一切皆文件,我们可以把键盘屏幕当做文件,从键盘文件读取数据然后再输入到到屏幕文件中,这叫回显。
那我们也可以向文件写入,把原来向屏幕打印的改成向文件写入,我们叫输出重定向。
小细节:第二次对同一个文件输入内容时,echo会清空上一次历史记录
如果我们要继续再这个文件写入,用符号>>。称为追加重定向
十一.cat
cat 语法:cat [选项][文件]
功能: 查看目标文件的内容
常用选项: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行
如果要查看内容,加上行号方便查看
十一.more 和 less(重要)
语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项: -n 对输出的所有行编号 q 退出more
语法: less [参数] 文件
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。
选项: -i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
十二.tail 和 head
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
输出文件中的中间行,用head和tail
方法1 head -n6 test > tmp #将前6行装入临时文件tmp tail -n1 tmp #得到中间行
方法2 head -n6 test | tail -n1.符号 | 这里称为管道,可以简单理解为前面输出的数据作为管道后面指令数据的输入
十三date指令
date可以显示时间,我们也可以指定打印格式
date +%Y-%m-%d/%H:%M:%S +和%是不可少的 :和/ 格式可自定义。
date +%s :我们称为时间戳,就是1970到现在累计的秒数,它是递增的,不断变化,也就有了唯一性适用于范围查找 。
日志:相当于本机的日记本,可辅助程序员问题排查,一般linux使用时间戳进行时间记录。
时间戳的转化:
十四.cal
cal 可查看当前日历
也可以查看任意一年的日历
如果我们要查看当前月份的前3个月或者前一个月的日历可选项-1到-3(其他选项可用 man cal查看)
十五.find
find可以查找指定路径下的文件和which不同的是,which可以不指定路径(系统会指定路径)。
十六.whereis
它不仅可以查找系统路径下命令所在的路径还可以查找系统路径下文档之类的
通配符* whereis stdio* 只要文件前面是stdio就可以找出
十七.grep(重要)
可以与管道 | 进行搭配
它是行文本过滤工具
默认大小写区分
选项-i 可忽略大小写,-n显示行数,-v表示不包含
拓展:文本的处理
排序sort test.c,逆序:sort -r test.c 。(根据ASSCI排序)
文本的去重:uniq test.c 表示上下两行如果相同,就保留一行。
uniq -u test.c 保留不重复行:uniq -d test.c 显示出现的重复行
实现对一个文本进行彻底的去重,首先进行排序相同的在一起,然后去重就
sort test.c | uniq test.c
如果要显示去重前重复的行数出现的次数:sort test.c | uniq test -u如果要显示最后去重剩余的行数就:sort test.c | uniq test | wc -l (wc -l表示按行(l)统计)。
十八.zip/unzip指令
文件的压缩和解压
语法: zip 压缩文件.zip 目录或文件 功能: 将目录或文件压缩成zip格式
常用选项: -r 递 归处理,将指定目录下的所有文件和子目录一并处理。
zip -r 110.zip 110 :压缩当前目录下的110目录到110.zip文件(可自定义)
注意:如果没有-r,它的子目录和文件是压缩不了的,110.zip文件是空的
解压到当前目录 unzip zip.110.
解压到指定目录 unzip zip.110 -d +当前目录下的其他目录
十九.tar指令
常用:压缩 tar -czf xxx.tgz 110 ,解压到当前目录: tax -xzvf xxx.tgz 。
如果要解压到指定目录加上选项-C:tax -xzf xxx.tgz -C 目录
二十.uname –r指令:
uname用来获取电脑和操作系统的相关信息,可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
uname -r:查看linux架构
uname -a或–all :详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称
二十一.重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
1.如果我们要输入的命名记得开头的字母,不记得后面的了。就按tab键,可以按两下,显示所有开头字母的指令
2.如果写程序运行死循环退不出就,按ctrl-c中止进程
3.ctrl -d 用户退出
二十三.关机
showdown -t 30
30秒后系统服务停止
showdown -h
系统服务停止
reboot
系统服务重启