文件名 | 描述(★重要) |
---|---|
★bin | 是binary的缩写,主要存放常用命令,比如ls,cp,mv |
boot | 主要存放Linux启动时需要用到的核心文件 |
★dev | 是device的缩写,主要存放Linux设备文件 |
★etc | 主要存放系统用户所需要的配置文件和子目录 |
★home | 主要存放用户目录 |
★lib | 是library的缩写,主要存放动态库,供应用程序调用 |
lost + found | 一般是空的,当系统非法关机后,相关文件会存放在此目录 |
★media | 自动挂载一些Linux系统自动识别的设备,比如U盘,光驱等 |
★mnt | 提供给用户的用于挂载临时别的文件系统(手动挂载),比如另外的硬盘 |
opt | 提供给主机额外的安装软件所需要的目录 |
proc | 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息 |
★root | 超级用户的主目录 |
sbin | s是super user的简称,此目录主要存放一些系统管理员所用到的系统管理程序 |
srv | 主要存放一些系统服务启动之后所用到的数据 |
run | 主要存放一些系统运行时需要用到的一些文件 |
★usr | 主要存放用户的应用程序及文件,类似于Windows下的program files |
bin | 存放系统用户所使用的应用程序 |
sbin | 存放超级用户所使用的高级程序及系统守护程序 |
src | 内核源代码默认的放置目录 |
tmp | 存放一些临时文件 |
var | 主要存放一些经常被修改的文件,比如日志文件,电子邮件等 |
颜色 | 文件 | 举例 |
---|---|---|
白色 | 普通文件 | stdio.h |
蓝色 | 目录 | Documents,Downloads |
绿色 | 可执行文件 | dashdate |
青色 | 链接文件 | stdio |
红色 | 压缩文件 | stdio.tar.gz |
黄色 | 设备文件 | block 块,char 字符,fifo 管道 |
灰色 | 其他文件 |
快捷键 | 释义 |
---|---|
Ctrl + f | 向前移动光标 |
Ctrl + b | 向后移动光标 |
Ctrl + a | 光标移动到行首 |
Ctrl + e | 光标移动到行尾 |
Ctrl + p | 向上翻页,相当于pageUp |
Ctrl + n | 向下翻页,相当于pageDown |
Ctrl + h | 删除光标前一个字符 |
Ctrl + d | 删除光标所在字符 |
Ctrl + u | 删除光标至开始全部内容(不包括光标所在字符) |
Ctrl + k | 删除光标至末尾全部内容(包括光标所在字符) |
Ctrl + w | 删除光标前单词 |
Ctrl + insert | 复制 |
shift + insert | 粘贴 |
—— | 释义 |
---|---|
ls | 显示当前路径下的文件名 |
pwd | 显示当前我所处的路径 |
touch [文件名] | 在当前路径创建一个普通文件 |
mkdir [目录名] | 在当前路径创建一个目录/文件夹 |
cd [路径名] | 进入一个路径 |
cd … | 返回上级目录 |
cd /home/flgg/fgrgtry/ | 绝对路径 |
cd daft/fg | 相对路径 |
cd ~ | 进入用户家目 |
cd - | 返回最近访问目录 |
. | 表示当前路径 |
. . | 上级目录 |
tree | 以树形结构显示目录下所有内容 |
rmdir [目录名] | 默认只能删除空目录 |
rm [文件名] | 删除指定文件 |
rm -rf *.c | -r递归 f强制 .c只显示.c文件 file只显示file文件 |
rm -rf * | 目录下的文件全部强制删除 |
rm -i [文件名] | 删文件之前会确认一下 |
nano | 记事本 |
Ctrl + z | 终止异常命令 |
which …… | 查看指令路径 |
count=0; while [ $count -le 100 ]; do echo “hello ps ${count}”; let count++; done > test.txt 写一个一百行的长文本命令
语法:ls [目录或文件名]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件将列出文件名及其他信息
—— | 释义 |
---|---|
-a | 列出目录下的所有文件, 包括以.开头的隐含文件 |
-b | 将目录象文件一样显示,而不是显示其下的文件。如: Is-d指定目录 |
-i | 输出文件的 i 节点的索引信息。如 ls-ai 指定文件 |
-k | 以k字节的形式表示文件的大小。ls-alk指定文件 |
-l | 列出文件的详细信息 |
-n | 用数字的UID,GID代替名称.(介绍 UID,GID) |
-F | 在每个文件名后附上一个字符以说明该文件的类型,“*” 表示可执行的普通文件;“/” 表示目录; “@” 表示符号链接; “ |
-r | 对目录反向排序 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小。 (大小排序, 如何找到目录下最大的文件) |
-R | 列出所有子目录下的文件。(递归) |
-1 | 一行只输出一个文件 |
cd … | 返回上级目录 |
---|---|
cd /home/li/ | 绝对路径 |
cd day/fj/ee | 相对路径 |
cd ~ | 当前用户的工作目录 |
cd - | 跳转至上一次我所处的路径 |
语法:touch [文件名]
功能: touch命令参数可更改文档或目录的日期时间, 包括存取时间和更改时间, 或者新建一个不存在的文件
—— | 释义 |
---|---|
-a | 或–time=atime或–time=access或–time=use只更改存取时间 |
-c | 或–no-create 不建立任何文档 |
-d | 使用指定的日期时间, 而非现在的时间 |
-f | 此参数将忽略不予处理, 仅负责解决BSD版本touch指令的兼容性问题 |
-m | 或–time=mtime或–time=modify只更改变动时间 |
-r | 把指定文档或目录的日期时间, 统统设成和参考文档或目录的日期时间相同 |
-t | 使用指定的日期时间, 而非现在的时间 |
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为“dirname”的目录常用选项
-p --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
举例:
mkdir -p test/test1 :递归建立多个目录
rmdir是一个与mkdir相对应的命令
mkdir是建立目录
,而rmdir是删除命令
语法: rmdir [-p][dirName]
功能: 默认只能删除空目录
rm …… | 删除指定文件 |
---|---|
rm -rf *.c | -r递归 f 强制 .c只显示.c文件 file只显示file文件 |
rm -rf * | 目录下的文件全部强制删除 |
rm -i …… | 删文件之前会确认一下 |
Linux的命令有很多参数, 我们不可能全记住, 我们可以通过查看联机手册获取帮助
访问Linux手册页的命令是man
语法: man [选项]命令
-k 根据关键字搜索联机帮助
num只在第num章节找
-a 将所有章节的都显示出来, 比如 man printf 它缺省从第一章开始搜索, 知道就停止, 用a选项,当按下q退出, 他会继续往后面搜索, 直到所有章节都搜索完毕
面手册分为8章
是普通的命令
是系统调用,如open, write之类的(通过这个,至少可以很方便的查到调用这个函数, 需要加什么头文件)
是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
使用指令时,如果显示找不到可能是还没下载
yum install -y [指令名]
运行这段代码下载某个指令
语法: cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录, 如同时指定两个以上的文件或目录, 且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录, 而最后的目的地并非一个已存在的目录, 则会出现错误信息
—— | 释义 |
---|---|
-f | 或–force 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
-i | 或–interactive 覆盖文件之前先询问用户 |
-r | 递归处理, 将指定目录下的文件与子目录一并处理。若源文件或目录的形态, 不属于目录或符号链接, 则一律视为普通文件处理 |
-R | 或–recursive递归处理, 将指定目录下的文件及子目录一并处理 |
mv命令是move的缩写, 可以用来移动文件或者将文件改名(move(rename) files) , 是Linux系统下常用的命令, 经常用来备份文件或者目录
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录) , mv命令将文件重命名或将其移至一个新的目录中
- 当第二个参数类型是文件时, mv命令完成文件重命名, 此时,源文件只能有一个(也可以是源目录名), 它将所给的源文件或目录重命名为给定的目标文件名
- 当第二个参数是已存在的目录名称时, 源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至目标目录中
用法举例:
输入 mv dir/hello.c c
mv是移动 . 是当前目录,表示把dir目录下的hello.c文件移动到当前目录
输入 mv hello.c world.cpp
表示对hello.c 文件重命名
语法: cat [文件名]
功能: 查看目标文件的内容
—— | 释义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
语法: more [文件名]
功能: more命令, 功能类似 cat
—— | 释义 |
---|---|
-n | 对输出的所有行编号 |
q | 退出more |
阅读的文件内容过长时,比如10万行+,用cat指令直接刷屏了,而使用more指令从头开始打印内容直到填满整个屏幕便不再打印,这时按回车键逐行打印
缺点是只能往下逐行打印不能往上翻
而less指令解决了这个缺点,less也是把打满整屏内容,按回车逐行打印,按箭头上则可以往上翻
—— | 释义 |
---|---|
-i | 忽略搜索时的大小写 |
-N | 显示每行的行号 |
/字符串 | 向下搜索“字符串”的功能 |
?字符串 | 向上搜索“字符串”的功能 |
n | 重复前一个搜索(与/或?有关) |
N | 反向重复前一个搜索(与/或?有关) |
q | quit |
cat file.txt > bak.txt
表示 cat 从file.txt 文件读取内容,然后写入 bak.txt 文件
echo “-1 -a -i” | xargs ls
xargs 将管道输出结果,作为命令行参数,交给后面的程序
head与 tail 就像它的名字一样的浅显易懂, 它是用来显示开头或结尾某个数量的文字区块, head用来显示档案的开头至标准输出中,而 tail想当然就是看档案的结尾
语法: head [参数 ] [文件名]
功能:head用来显示档案的开头至标准输出中, 默认head命令打印其相应文件的开头10行
-n<行数> 显示的行数
head test.txt 显示文件内容,默认显示头10行
head -3 test.txt 指定显示3行
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件, tail-f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容, 不指定文件时, 作为输入信息进行处理。常用查看日志文件
date显示
date date +%Y:%m:%d 指定格式显示时间
date 用法: date [OPTION]…[+FORMAT]
1.在显示方面, 使用者可以设定欲显示的格式, 格式设定为一个加号后接数个标记, 其中常用的标记列表如下
—— | 释义 |
---|---|
%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 |
2.在设定时间方面
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@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) 是从1970年1月1日 (UTC/GMT的午夜) 开始所经过的秒数, 不考虑闰秒
- Linux下find命令在目录结构中搜索文件, 并执行指定的操作
- Linux下find命令提供了相当多的查找条件, 功能很强大。由于find具有强大的功能, 所以它的选项也很多, 其中大部分选项都值得我们花时间来了解一下
- 即使系统中含有网络文件系统(NFS), find命令在该文件系统中同样有效, 只你具有相应的权限
- 在运行一个非常消耗资源的find命令时, 很多人都倾向于把它放在后台执行, 因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
语法: find -name [文件名]
功能: 用于在文件树种查找文件, 并作出相应的处理 (可能访问磁盘)
常用选项:
-name 按照文件名查找文件
与之对应的还有
which指令
语法:which [指令名]
功能:在系统路径中,查找特定指令所在的路径
alias指令
功能:给命令取别名,只在本次登录有效
语法:alias haha=‘ls -al’
相当于给ls -al 指令取名为haha
功能:行文本过滤工具,在文件中搜索字符串, 将找到的行打印出来
语法:grep ‘33’ [文件名]
释义:把文件带33的内容过滤出来,显示到屏幕
—— | 释义 |
---|---|
-i | 忽略大小写的不同, 所以大小写视为相同 |
-n | 顺便输出行号 |
-v | 反向选择, 亦即显示出没有’搜寻字符串’内容的那一行 |
语法: zip 压缩文件. zip目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递归处理, 将指定目录下的所有文件和子目录一并处理
举例:
将test2目录压缩: zip test2. zip test2/*
解压到tmp目录: unzip test2.zip -d /tmp
-d表示指定路径
tar [-cxtzjvf]文件与目录 ….参数:
- -c: 建立一个压缩文件的参数指令(create 的意思)
- -x:解开一个压缩文件的参数指令
- -t:查看 tarfile 里面的文件
- -z:是否同时具有gzip 的属性?亦即是否需要用gzip 压缩?
- -j:是否同时具有 bzip2的属性?亦即是否需要用bzip2压缩?
- -v:压缩的过程中显示文件! 这个常用, 但不建议用在背景执行过程
- -f: 使用档名, 请留意, 在f之后要立即接档名! 不要再加参数!
- -C: 解压到指定目录
bc命令可以很方便的进行浮点运算
语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息
补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
常用选项:
-a 或-all 详细输出所有信息,依次为内核名称, 主机名, 内核版本号, 内核版本, 硬件名, 处理器类型, 硬件平台类型, 操作系统名称
-r 只显示内核版本
- [Tab]按键----具有『命令补全』和『档案补齐』的功能
- [Ctrl]-c按键----让当前的程序『停掉』
- [Ctrl]-d按键----通常代表着: 『键盘输入结束(End Of File, EOF 戒 End Oflnput)』的意思;另外,他也可以用来取代exit
语法: shutdown [选项]
常见选项:
- -h : 将系统的服务停掉后,立即关机
- -r :在将系统的服务停掉之后就重新启动
- -t sec:-t后面加秒数, 亦即『过几秒后关机』的意思