认识Linux及Linux下的基本指令

Linux下的重要目录:

/proc:此目录的所有数据都在内存里,如 系统核心,外部设备,网络状态。由于所有数据都储存在内存里,所以不占用磁盘空间。
/sys:文件系统访问Linux内核。
/SElinux:SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块                    包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
/bin:可在执行的二进制文件的目录,如ls mc cat ......
/usr:应用程序存放目录   。
/urs/lib:存放一些不能直接运行,却是很多应用程序运行必须要用到的一些 库函数文件。
/urs/local:存放软件升级包。
/var:放置系统执行过程中不断改变的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目             录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动。
/tmp:一般用户或正在运行的程序存放临时文件的目录,任何人都可以访问,重要的文件不可以放在此目录下。

基本指令:

1.ls指令

语法:

 ls [选项][目录或文件]

功能:

对于目录,该命令列出该目录下的所有子目录的文件。对于文件,将列出文件名及其他信息。

常用选项:

-a:列出目录下的所有文件,包括以 . 开头的隐含文件
-d:将目录象文件一样显示,而不是显示其下的文件。
-f :对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-h:以容易理解的格式列出文件大小 (例如 1K 234M 2G
-i:印出每个文件的 索引信息。
-k :即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n:用数字的UID,GID代替名称。
-L:当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。
-m :所有项目以逗号分隔,并填满整行行宽。
-o :类似 -l,显示文件的除组信息外的详细信息。   
-r:依相反次序排列。
-R:同时列出所有子目录层。
-s:以块大小为单位列出所有文件的大小。
-S :根据文件大小排序。
-t:以时间排序。
-1:一行只输出一个文件。

2.pwd指令

语法:

pwd

功能:

显示当前用户所在目录。

3.cd指令

语法:

cd 目录名

功能:

改变工作目录。将当前工作目录改变到指定目录下。

常用选项:

-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

举例:

cd    进入用户主目录;
cd ~  进入用户主目录;
cd -  返回进入此目录之前所在的目录;
cd ..  返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../..  返回上两级目录;
cd !$  把上个命令的参数作为cd参数使用。

4.touch指令

语法:

touch(选项)...文件...

功能:

一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件。

常用选项:

-a:或--time=atime或--time=access或--time=use  只更改存取时间;
-c:或--no-create  不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify  只更该变动时间;
-r:<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间>  使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。

5.mkdir指令

语法:

mkdir[选项] dirname

功能:

在当前目录下创建一个名为“dirname”的目录

常用选项:

-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

举例:

mkdir -p test/test1:递归建立多个目录

6.rmdir指令&&rm指令

>rmdir:是一个与mkdir对应的指令。mkdir建立目录,rmdir删除目录。

 语法:

rmdir[-p][dirmane]

功能:

删除空目录

适用对象:

具有当前目录操作权限的所有使用者

常用选项:

-p:当子目录被删除后如果父目录也是空目录的话,就连父目录一起删除

>rm:可以同时删除文件或目录

语法:

rm [-f-i-r-v][dirname]

功能:

删除文件或目录

适用对象;

所有使用者

常用选项:

-f:不管删除的目录是否存在,直接删除。
-i:删除前逐一询问确认。
-r:删除目录及其下所有文件。
-v:可以直接删除一个或者多个文件,并且使用-v选项给予提示

7.man指令

Linux的命令有很多参数,我们不可能都记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。

man语法:

man [选项]命令

常用选项:

-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。
-a:在所有的man帮助手册中搜索;
Linux手册分为8章:
1.普通的命令。
2.是系统调用,如open,write之类的(很方便的查到调用这个函数需要什么头文件)。
3.是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件。
5.是指文件的格式,如passwd。就会说明这个文件中各个字段的含义。
6.给游戏留的,有各个游戏自己定义。
7.是附件还有一些变量,如environ这种全局变量都有说明。
8.是系统管理用的命令,这些命令只能由root使用

8.cp指令

语法:

cp [选项] 源文件或目录  目标文件或目录

功能:

复制文件或目录

说明:

cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录中。
如同时指定多个文件或目录,而最后的目的地并非存在的,则会出现错误信息。

常用选项:

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

9.mv指令

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

语法:

mv [选项] 源文件或目录    目标文件或目录

功能:

1当第二个参数类型是文件时,mv完成文件重命名,此时源文件只能有一个(也可能是源目录名),它将所给的源文件或目录重命名为给定目标文件。
3.第二个参数的类型不同(是目标文件还是目标目录),mv命令将文件重命名或者移至一个新的目录中。
2.当第二个参数是目录文件时,源文件或目标参数可以有多个,mv命令将各参数指定的源文件均移至目标文件。

常用选项:

-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。
用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。

10.cat/tac指令

语法:

cat[选项][文件]

功能:

查看目标文件的内容

常用选项:

-b:对非空输出行编号。
-n:对输出的所有行编号。
-s:不输出多行空行。

例:打开passwd文件

cat  /etc/passwd
passwd文件的内容:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
…………………………
 passwd中每一列含义:
(用户名):(密码占位符):(用户ID):(用户所在组的ID):(用户的说信息):(家目录):(shell的终端名字)

11.more指令

语法:

more [选项][文件]

功能:

类似于cat

常用选项:

-n:对输出的所有行编号。
q:退出more

12.less指令

less工具也是对文件或其他输出进行分页显示的工具,应该说Linux正统查看文件内容的工具,功能强大。
less的用法比more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后看。
使用less时就可以使用[pageup][pagedown]等键的功能来往前后翻看文件,更容易用来查看一个文件的内容。
less里面可以拥有更多的搜索功能,不止可以往下搜,还可以往上搜。

语法:

less[参数]文件

功能:

less与more类似,但less可以随意浏览文件,而more只能向前移动,却不能向后移动,而且less在查看文件之前不会加载整个文件。

常用选项:

+n      从笫n行开始显示
-n       定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  
-c       从顶部清屏,然后显示
-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l        忽略Ctrl+l(换页)字符
-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s       把连续的多个空行显示为一行
-u       把文件内容中的下画线去掉

常用操作命令:

Enter    向下n行,需要定义。默认为1行
空格键  向下滚动一屏
B  返回上一屏
J  向下1行。
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令 
q       退出more

13.head指令

head命令和tail命令就像他的名字一样浅显易懂,它是用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中,
而tail想当然就是查看档案的结尾。

语法:

head [参数]…[文件]

功能:

head用来显示档案的开头至标准输出当中,默认head命令打印其相应文件的开头10行。

常用选项:

-q   隐藏文件名
-v   显示文件名
-c   显示字节数
-n   显示的行数

14.tail指令

tail指令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,
tail -f fname会把fname里最尾部的内容 显示在显示屏上,并且不断刷新,使你看到最新的文件内容。

语法:

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

功能:

用于显示指定文件末尾得内容,不指定文件时 ,作为输入信息处理。常用查看日志文件。

常用选项:

-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。

举例:

有一个文件共有100行内容,请取出第50行内容<br>
seq 1 100>test        //生成1到100的序列装入test
方法1:head -n50 test>tmp   //将前50行装入临时文件tmp
tail -n1 tmp                                 //得到中间行
方法2:head -n50 test | tail -n1

补充:

echo:回显,输入什么内容,输出什么内容。

echo "abcd">tmp             //tmp的内容为abcd                            -->输出重定向
echo "1234">tmp             //此时内容变成1234,将原来的内容覆盖           -->输出重定向
echo "abcd">>tmp            //此时的内容变成1234abcd
输出重定向
一个大于号> : 输出重定向, 覆盖输出
两个大于号>> :追加输出

15.cut指令

语法:

cut -[n]b file
cut -c file
cut -d[分隔符] -f[域] file

功能:

cut命令是一个选取命令,其功能是将文件中的每一行”字节” ”字符” ”字段” 进行剪切,选取我们需要的,并将这些选取好的数据输出至标准输出

常用选项:

-b(bytes) :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c(characters) :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f(filed) :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的

举例:

统计除去后的shell行数

cut -d: -f7 /etc/passwd >tmp         //将shell终端的那一列数据拿出来放到tmp文件中
sort tmp >tmp1                              //将tmp中的内容进行排序,相同的在一块,然后保存到tmp1中。
uniq tmp1 >tmp2                            //uniq去除相邻重复行,并保存到tmp2中
wc -l tmp2                                        //wc -l 统计文件中的行数

wc:统计行,单词,字符
      -l:行数
      -w:单词数
      -c:字符个数

16.时间相关的指令

date显示

date指定格式显示时间:date +%Y:%m:%d

语法:

date[OPTION]……[+FORMAT]

常见选项:

在显示方面,使用者可以设定欲显示的模式,格式设定为一个加号后接数个标记:
%H:小时(00....23)
%M:分钟(00....59)
%S:秒(00...61)
%X:相当于%H:%M:%S
%d:日(0...31)
%m:月(00....12)
%Y:完整年份(0000......9999)
%F:相当于%Y-%m-%d
在设定时间方面:
date-s      //设置当前时间,只有root才能设置,其他只能查看
date-s 20180606      //设置成20180606,这样会把具体时间设置成空00:00:00
date -s 01:01:01      //设置具体时间,不会对日期做更改
date -是“01:01:01  20180606”   //设置全部时间
时间戳:
时间->时间戳:date +%s
时间戳->时间:date -d  @时间戳

17.Cal指令

al命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。
“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

语法:

cal [参数][月份][年份]

功能:

用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历
-s  显示星期天为一个星期的第一天,默认的格式
-m 显示星期一为一个星期的第一天

18.查找指令:

>查找命令:

命令分为外部命令和内置命令
查找外部命令时:which +命令
查找内置命令时:whereis +命令

>查找文件:

find指令

语法:

find fname -options

功能:

用于在文件树中查找文件,并作出相应处理(可访问磁盘)

常用选项:

-name  按照文件名查找文件

例如:

find . -name "*.c"   //“*”通配符[0~n]长的任意字符

>查找内容

grep指令

语法:

grep[选项]搜索字符串   文件

功能:

在文件中搜索字符串,将找到的打印出来

常用选项:

-i:忽略大小写的不同,所以大小写相同
-n:顺便输出行号
-v:反向选择,亦即显示出没有“搜寻字符串”内容的那一行

例:

在工程中找出某个函数的实现:
find . -name "*.c" |xargs grep-n"函数名"

19.zip/unzip指令

语法:

zip压缩文件。zip 目录或文件

功能:

将目录或文件压缩成zip格式

常用选项:

-r:递归处理,将指定目录下的所有文件和子目录一并处理

20.tar指令:打包/解包,不打开它,直接看内容

语法:

tar[-cxtzjvf]文件与目录……参数

常用选项:

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-C解压到指定目录

 下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

例:

压缩:tar -czvf  目录/文件名 .tar.gz   目录
解压:tar -xzvf    压缩包  -C指定目录

21.bc指令

bc命令主要进行浮点运算

22.uname指令

语法:

uname [选项]

功能:

uname用来获取电脑和操作系统的相关信息

补充说明:

uname可显示Linux主机所用操作系统的版本,硬件名称等信息

常用选项:

-a或all:详细列出所有信息,依次为内核名称,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

23.关机

语法:

shutdown[选项]**常见选项:**

常用选项:

-h:将系统的服务停后,立即关机
-r;在将系统的服务停掉后就重新启动
-t sec:-t后面加秒数,过几秒关机

24.du指令

功能:

du作用是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计

常用选项:

a:显示全部目录和其次目录下的每个档案所占的磁盘空间 
s:只显示各档案大小的总合 
b:大小用bytes来表示 
x:跳过在不同文件系统上的目录不予统计

25.top指令

语法:

df [options]

功能:

命令用来显示执行中的程序进程,使用权限是所有用户 

常用选项:

d:指定更新的间隔,以秒计算。 
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 
c:显示进程完整的路径与名称。 
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。 
s:安全模式。 
i:不显示任何闲置(Idle)或无用(Zombie)的行程。 
n:显示更新的次数,完成后将会退出top。

26.df指令

功能:

df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。 

常用选项:

-s:对每个Names参数只给出占用的数据块总数。 
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。 
-k:以1024字节为单位列出磁盘空间使用情况。 
-x:跳过在不同文件系统上的目录不予统计。 
-l:计算所有的文件大小,对硬链接文件则计算多次。 
-i:显示inode信息而非块使用量。 
-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。 
-P:使用POSIX输出格式。 
-T:显示文件系统类型。

27.free指令

语法:

free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 

功能:

free命令用来显示内存的使用情况,使用权限是所有用户

常用选项:

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。 
-s delay:显示每隔多少秒数来显示一次内存使用情况。 
-t:显示内存总和列。 
-o:不显示缓冲区调节列。

28.su指令

语法:

su [选项]… [-] [USER [ARG]…] 

功能:

变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码

常用选项:

f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。 
-l , –login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。 
-m, -p ,–preserve-environment:执行su时不改变环境变数。 
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。 
USER:欲变更的使用者账号,ARG传入新的Shell参数。

29.adduser指令

创建用户指令:

adduser 0
useradd 

用户删除命令:

adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。 
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本

30.passwd指令

语法:

passwd(选项)(参数)

功能:

用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

常用选项:

-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。

31命令分类:

安装和登录命令: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,sudops,who
其他指令:tar,unzip,gunzip,unarj,mtools,man,unencode,uudecode








 





 


















猜你喜欢

转载自blog.csdn.net/qq_41889292/article/details/80597933
今日推荐