目录
基本指令
ls
语法:ls [选项][目录]
功能:显示出该目录下的所有子目录和文件,对于文件,将列出文件名以及其他信息
常用选项:
- -l 列出文件的详细信息 可以减写成ll
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
每个目录下默认存在两个隐含文件 . 和 . . ( . 代表当前目录 . . 代表上级目录)。
- -d 将目录象文件一样显示,而不是显示其下的文件.
- -i 输出文件的 i 节点的索引信息。
- -n 用数字的 UID,GID 代替名称。 UID和GID相当于身份证
- -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
- -r 对目录反向排序。
- -t 以时间排序
也可以结合r使用就变成正向排序
- -s 在l文件名前面输出该文件的大小。
- -R 列出所有子目录下的文件。(递归)
- -1 一行只输出一个文件。
pwd
语法:pwd
功能:显示当前所处的目录
cd
语法:cd [目录]
功能:将当前工作目录改变到指定的目录下。
cd .. : 返回上一级目录
/home/CCT/test : 绝对路径
cd ./test : 相对路径
cd ~:进入用户家目录(主工作目录)
cd -:返回最近访问目录
普通用户的家目录(主工作目录)默认为 /home/xxx,root用户的家目录(主工作目录)默认为 /root。
touch
语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
- -a 或–time=atime或–time=access或–time=use只更改存取时间。
其中stat命令可以显示文件或文件系统的详细信息。
Access:表示最后一次访问(仅仅是访问,没有改动)文件的时间
Modify:表示最后一次修改文件的时间
Change:表示最后一次对文件属性改变的时间,包括权限,大小,属性等等。
- -c 或–no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或 --time=mtime 或–time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
mkdir
语法: mkdir 选项 dirname
功能: 在当前目录下创建一个名为“dirname”的目录。
常用选项
- mkdir dirname
- mkdir -p dirname1/dirname2/…… # 递归式创建文件夹
tree 可以递归式查看目录下的文件
安装指令: yum install -y tree
rmdir
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法 rmdir [-p] [ditanme]
使用对象 :具有当前目录操作权限的所有者
功能: 删除空目录
常用选项
- p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除。
rm
语法: rm [选项] [dir]
适用对象 :所有使用者
功能 : 删除文件或者目录
常用选项
-
-f 即使文件属性为只有读(既写保护),也直接删除
-
-i 删除前逐一确认询问
-
-r 删除目录机其下所有文件
rm -rf / 删库必备
man
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
语法: man [选项] 命令
** 功能** 查找一些指令
常用选项
- -k 根据关键字搜索联机帮助
- -num 只在第num章节找
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
cp
语法 :cp [选项] 目录或者目标文件
功能 复制文件或目录
常用选项
- -f 或者–force 强制复制文件或目录,不论目的文件或目录是否已经存在
- -i 或者-- ineractive 覆盖文件之前先询问用户
- -r / -R递归式处理,将指定目录下的文件及子目录一并处理
如果一次要复制的文件过多可以使用*通配符
列如:
mv:
语法: mv [选项] 源文件或目录 目标文件或目录
功能 :
- 当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名。
* 当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。
cat
语法 :cat [选项][文件]
功能 : 查看目标文件的内容
常用选项 :
- -b 对非空输出行编号
-
-n 输出所有行编号
-
-s 不输出多行空行,只保留一行空行
tac
tac与cat相反,tac可以方向查看文件的内容。
语法: cat 文件
功能: 反向查看目标文件的内容。
注意: cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过多,则会导致刷屏(直到将文件内容全部打印到屏幕上)。因此cat和tac指令一般仅适用于查看内容较少的文件。
more
cat适合查看内容较少的文件,而more适合查看内容较多的文件,因为它不会一下子全部显示出来,而是可以进行翻页。
语法 more [选项] [文件]
功能:more命令,类似cat
常用选项:
- -n 对输出的所有行编号
- q 退出more
less
- less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
- less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
- 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
- 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法 less [参数] 文件
** 功能** less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用选项 - -N 显示每行的行号
- /字符串 向下搜索“字符串”
- ?字符串 向上搜索字符串
- n指向下一个搜索到的位置 与/ 和? 相关
- N 反向重复前一个搜索(与/或?有关)。
- v 进入编辑模式,可编辑当前文件
head指令
从头开始查看指定行数的文本。
语法: head [选项] [文件]
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。
选项:
head -5 文件
tail指令
将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail 选项 文件
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。
选线:
-
-n<行数> 显示的行数
-
-f 循环读取
date
date 指定格式显示时间: date +%Y:%m:%d
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
- %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″ //这样可以设置全部时间
3. 时间戳
- date +%s 显示当前时间的时间戳。
- date -d @时间戳 将时间戳转换为时间。
find
- Linux下find命令在目录结构中搜索文件,并执行指定的操作。
语法 find path -options mame
功能 用于在文件树种查找文件,并作出相应的处理 - -name 按照文件名查找文件。
- -size 按照文件大小查找文件。-50M 小于50M +50M 大于50M
- -ctime 按最新修改的时间查找 -5位最近五天
- -type 根据文件类型查找
which
查找某一条命令所在的路径。
语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。
命令实际上也是一个可执行程序,它所在的目录可以不用让执行这些命令时加路径,直接使用命令即可。
alias 起别名 为ls -l指令起别名
grep
grep是文本行过滤工具,它在过滤时以行为基本单位。将符合条件的行显示出来。
语法: grep 选项 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来。
** 常用功能**
- -i 忽略大小写
- -n 顺便输出行号
- -v 反向选择
- -R 递归搜索 查找不止一个文件
zip/unzip
zip指令用于打包压缩目录或文件。
语法: zip 选项 压缩文件 .zip 待打包目录或文件
功能: 将目录或文件打包压缩成zip格式。
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理。
如果没有加-r选项,zip默认只是打包压缩目录。
- 如果要解压到指定目录必须带上-d选项:
tar
tar指令也可以用来打包压缩和解压文件,并且还可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。
语法: tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。
常用选项:
- -c 建立一个压缩文件的参数指令(create的意思)。
- -x 解开一个压缩文件的参数指令。
- -t 查看tarfile里面的文件。
- -z 是否同时具有gzip属性?即是否需要用gzip压缩?
- -j 是否同时具有bzip2属性?即是否需要用bzip2压缩?
- -v 压缩的过程中显示文件(常用)。
- -f 使用档名,请留意,在f之后要立即接档名,不要再加参数。
- -C 解压到指定目录。
bc
bc命令可以很方便的进行浮点运算
语法: bc进入计算器 输入表达式 按回车进行计算 Ctrl+C退出计算
功能: 进行运算。
uname
语法:uname [选项]
功能:uname用来会哦去电脑和系统的相关信息
常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
- -r 输出电脑和操作系统相关信息。内核版本+CPU架构
file
语法: file
功能: 查看文件的更多属性信息。
热键
- [Tab]按键—具有『命令补全』和『档案补齐』的功能
- [Ctrl]-c按键—让当前的程序『停掉』
- [Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
shutdown 和reboot
关机语法:shutdown [选项]
重启语法:reboot [选项] / init 6
常见选项:
- -h 将系统的服务停掉后,立即关机。
- -r 将系统的服务停掉之后就重新启动。
- -t sec: sec 经过sec秒后关机。
扩展命名
- 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
- 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
- 系统关系相关命令: df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
- 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
- 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
- 其他命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
shell命令以及运行原理
- Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“
- shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
- shell相当于用户和操作系统之间的媒介,用来和用户交互,提升用户的操作体验。同时用来保护操作系统。
运行原理:
- shell创建子进程,让子进程进行命令行解释。父进程进入休眠,等待子进程运行完毕。
- 子进程出现任何问题,都不影响父进程Shell。