Linux入门系列目录
《终端基本指令篇》
《yum 篇》
《vim 篇》
《gcc和makefile篇》
《Linux的第一个小程序——进度条》
《gdb 篇》
文章目录
Linux终端命令格式
command [-options] [parameter]
说明:
- command :命令名,相应功能的英文单词或单词的缩写
- -options :选项,可用来对命令进行控制,一般[-options]表示选项可省略。
- parameter :参数,可以是零个、一个或多个
文件目录相关指令
pwd
- 命令说明:pwd 是 print working directory 的简写,作用是以绝对路径的形式显示当前登录用户所处的工作目录。
- 语法:
pwd
ls
- 命令说明:ls 是 list 的缩写,作用是列出目录(文件夹)的内容或文件的信息。
- 语法:
ls [选项] [文件或目录]
选项 | 含义 |
---|---|
-l | 列出文件的详细信息。ls -l 可以简写成ll |
-a | 列出目录下的所有文件,包括以. 开头的隐藏文件 |
-i | 输出文件的 inode 编号 |
-d | 将目录象文件一样显示,而不是显示其下的文件 |
-k | 以字节为单位表示文件的大小 |
-r | 对目录反向排序 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小 |
-R | 列出所有子目录下的文件 |
-1 | 一行只输出一个文件 |
-n | 用数字的 UID,GID 代替名称。 (介绍 UID, GID) |
-F | 在每个文件名后附上一个字符以说明该文件的类型。* 表示可执行的普通文件;/ 表示目录; @ 表示符号链接;= 表示套接字(sockets);| 表示表示FIFOs |
cd
- 命令说明:cd 是 change directory 的简写,作用是切换当前所处的目录(可以理解成Windows下双击打开文件夹)。
- 语法:
cd [目录]
常用命令 | 含义 |
---|---|
cd | 进入当前用户的主目录(即,/home/用户目录) |
cd ~ | 进入当前用户的主目录(即,/home/用户目录) |
cd . | 保持当前目录不变,. 表示当前目录 |
cd .. | 切换到上级目录,.. 表示上级目录 |
cd - | 在最近的两个目录中来回切换 |
路径概念知识补充:
绝对路径:路径输入时,最前面不是/
或者~
,表示相对当前目录所在的目录位置
相对路径:路径输入时,最前面是/
或者~
,表示从 根目录或者家目录开始的具体目录位置
touch
- 命令说明:
- 作用1,修改文件时间。
- 文件 = 文件内容 + 文件属性(大小,日期,时间等)
- access 文件的访问时间
- modify 对文件内容修改的时间
- change 对文件属性修改的时间
- 作用2,新建不存在文件;如果文件已存在则修改 access 和 change 为最近的时间。
- 作用1,修改文件时间。
- 语法:
touch [选项] 文件名
时间相关的知识在入门阶段比较少遇到,起码本人见到的比较少,且知识比较深,而选项大多和时间相关,这里就不展开讲了
mkdir
- 命令说明:mkdir 是 make directory 的简写,作用是在当前目录下创建一个名字自定义的目录(类似Windows下右键新建文件夹)。
- 语法:
mkdir [选项] 目录名或路径
常用选项 | 含义 |
---|---|
-p 或--parents | 可以递归创建目录(一次创建多个目录) |
注:“新建目录的名称” 不能与当前目录中 “已有的目录或文件” 同名。
文件系统知识补充:
1.基本上的操作系统组织文件的方式都是树形结构,优点是路径具有唯一性。
2.磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
3.符号/
的意义有两种,一是指路径分隔符;二是指整颗文件树的根目录。
tree
- 命令说明:以树状图形式列出文件目录结构
- 语法:
tree [选项] [目录名]
常用选项 | 含义 |
---|---|
-C | 在文件和目录清单加上色彩,便于区分各种类型。 |
rmdir
- 命令说明:rmdir 是 remove directory 的缩写,作用删除空文件夹。要求用户是当前目录操作权限的所有者(权限问题)
- 语法:
rmdir [选项] [目录名]
常用选项 | 含义 |
---|---|
-p | 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除 |
rmdir
一般都是用来删除空目录的,虽然也可以删除非空目录,但是不方便。删除文件或目录一般选择的都是接下来说明的rm
命令。
rm
- 命令说明:rm 是 remove 的简写,作用是删除文件或目录。
- 语法:
rm [选项]... [目录/文件]...
常用选项 | 含义 |
---|---|
-f | 即使文件属性为只读(即写保护),亦强制删除 |
-i | 删除前逐一询问确认 |
-r | 删除目录及其下所有文件(递归遍历删除) |
cp
- 命令说明: cp 是 copy 的简写,作用是复制文件或目录功能。 对于复制两个以上的文件或目录到目标目录的操作,如果目标目录存在则成功复制,否则出现错误信息。
- 语法:
cp [选项] 源文件或目录 目标文件或目录
常用选项 | 含义 |
---|---|
-f 或--force | 不论目的文件或目录是否已经存在,强行复制文件或目录, |
-i 或--interactive | 覆盖文件之前先询问用户 |
-r | 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 |
-R 或--recursive | 递归处理,将指定目录下的文件及子目录一并处理 |
mv
- 命令说明:mv 是 move 的简写,可以用来移动文件(剪切)或者将文件改名(重命名),经常用来备份文件或者目录。
- 语法:
mv [选项] 源文件或目录 目标文件或目录
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至目标目录中。
常用选项 | 含义 |
---|---|
-f | 即使目标文件已经存在,不会询问,强制覆盖 |
-i | 若目标文件已经存在时,就会询问是否覆盖 |
网络相关指令
ping
- 命令说明:ping 是 packet internet groper 的简写,作用简单来讲是检测设备是否联网。
- 语法:
ping [选项] 网站
以百度为例,输入命令后不断显示下面格式的内容即说明网络正常。
如果发现它不停下也不用慌,输入ctrl
+c
即可。
此外也可以带上选项限制显示的行数,如ping -c3 www.baidu.com
ifconfig
- 命令说明:ifconfig 是 network interfaces configuring 的缩写,意思是网络接口配置。作用是查看网络 IP 地址。
- 语法:
ifconfig
(不是root用户一般使用sudo ifconfig
)
如果用户当前的Linux系统没有显示ip地址,说明没有联网可以使用命令ifup 端口名
来进行手动联网。设备不同端口名称同,请以你自身电脑为主。
时间相关指令
date
- 命令说明:显示时间
- 1.显示指定格式的时间,格式设定为一个加号后接数个标记,如:
date +%Y:%m:%d
,其中:
是用户自己设置的间隔符,可以是任意字符,一般在使用习惯上用:
、-
、空格等。- 常用标识符(格式符):
%H
: 小时(00~23)%M
: 分钟(00~59)%S
: 秒(00~60)%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:00date -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.时间戳
- 时间戳:指的是从1970年1月1日0时0点0分0秒开始累计到现在的秒数。
- 具体时间——>时间戳:如,
date +%s
- 时间戳——>具体时间:如,
date -d@1508749502
cal
- 命令说明:cal 是 calendar 的简写,”日历“ 的意思。用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
- 语法:
cal [参数] [月份] [年份]
常用选项 | 含义 |
---|---|
-3 | 显示系统前一个月,当前月,下一个月的月历 |
-j | 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数) |
-y | 显示当前年份的日历 |
其它指令
clear
- 命令说明:作用是清理终端屏幕,最常用的命令之一。
- 语法:
clear
whoami
- 命令说明:显示当前登录用户的用户名。
- 语法:
whoami
man
- 命令说明:Linux的命令有很多选项、参数,我们不可能全记住,而Linux贴心的为使用者准备了使用手册。man手册页文件存放在
/usr/share/man
目录下,我们可以通过man指令直接调用。 - 语法:
man [选项] 命令
常用选项 | 含义 |
---|---|
-a | 在所有的man帮助手册中搜索想要的命令 |
num | 一个整数,在手册的对应章节中搜索 |
-d | 主要用于检查,如果用户加入了一个新的文件,就可以用这个参数检查是否出错 |
-f | 显示给定关键字的简短描述信息 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-w | 显示文件所在位置 |
man手册知识补充:
man手册分为8章,各章节的内容是不同的
1 是可执行程序或 shell 命令
2 是系统调用 (内核提供的功能),如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库调用 (程序库中的函数),如printf,fread
4 是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
man手册格式
NAME:叙述对象的名称及简要描述
SYNOPSIS:命令参数格式,或者函数调用格式等
DESCRIPTION:对叙述对象的更加详细的描述
EXAMPLES:由浅入深的使用示例
EXIT STATUS:不同返回(退出)代码的含义
FILES:与叙述对象相关的文件
BUGS:已知的bug
SEE ALSO:相关内容列表
剩下的就是历史、版权、编者信息等
cat
- 命令说明:cat 是 concatenate 的简写,作用查看目标文件的内容,默认输出到屏幕上。
- 语法:
cat [选项] [文件]
常用选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
重要快捷键
除了,命令外,还有一些常用的快捷键。
tab
键:它有命令补全和档案补齐的作用。命令补齐:输入"cle"再按下tab
键,系统会自动补齐成"clear";档案补全:输入某个文件的前几个字符,再按下tab
键,系统会自动补齐全名称。ctrl
+c
:终止运行中的程序。ctrl
+c
:通常代表着:『键盘输入结束(End Of File, EOF 戒 End Of Input)』的意思;另外,他也可以用来取代exit。