linux 常用的操作指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 常用的操作指令相关的知识,希望对你有一定的参考价值。

linux常用的基本指令:

0. 背景知识:

计算机:接受用户的指令与数据,经过中央处理器的数据与逻辑单

元运算处理后,以产生或存储成有用的信息。

广义上讲:我们周边有好多宽泛概念上的计算机,如加减乘除计算

机,手机, GPS, ATM等等。

计算机五大单元:

输入单元:包括键盘,鼠标,扫描仪,手写板等。

中央处理器( CPU):含有算术逻辑,控制,记忆等单元。

输出单元:显示器,打印机。

注意:技术分享

这里存储器指内存

CPU读取的数据都是从内存中来的, CPU处理完成的数据,必须要先

写回内存,,最后数据才从内存传输到输出单元(忽略缓存)。

shell:设置环境变量,对于bash来说可以通过变量名来访问相应的环境变量;

linux中常见的环境变量有:

PATH:指定命令的搜索路径;

HOME:指定用户的主工作目录;

HISTSIZE:指定历史命令记录的条数;

LOGNAME:指当前用户的登录名。

HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的

话,通常是从这个环境变量中来取得的。

SHELL:指当前用户用的是哪种 Shell

LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户

可以修改此环境变量。

MAIL:指当前用的邮件存放目录。

PS1:命令基本提示符,对于 root用户是# ,对于普通用户是 $

PS2:附属提示符,默认是 “>”

Linux也提供了修改和查看环境变量的命令!下面通过几个实例来

说明:

1.echo 显示某个环境变量值 echo $PATH

2.export 设置一个新的环境变量 export

HELLO="hello" ( 可以无引号 )

3.env 显示所有环境变量

4.set 显示本地定义的shell变量

5.unset 清除环境变量 unset HELLO

6.readonly 设置只读环境变量 readonly HELLO

linux的文件类型:

1.普通文本:标志是第一个字符为 ‘-’;

2.目录(directory):第一个字符为‘d‘;

3.连接文件(link):第一个字符为‘l‘;

4.设备和设备文件:分为块设备文件,第一个字符为(b)和字符设备文件,第一个字符为(c);

5.套接字(sockets):第一个字符为’s‘;

6,管道(FIFO,pipe)第一个字符为’p‘;

linux权限管理:

1、文件访问者的分类 (人)

a)文件和文件目录的所有者: u---User(中国平民 法律问题)

b)文件和文件目录的所有者所在的组的用户: g---Group(不多

说)

c)其它用户: o---Others;

基本权限:读(4/r),写(2/w),执行(1/x);

访问权限的设置方法:

chomd:设置文件的访问权限;

① 用户表示符 +/-=权限字符

+:向权限范围增加权限代号所表示的权限   //chmod u+w filename

-:向权限范围取消权限代号所表示的权限   //chmod g+x filename 

=:向权限范围赋予权限代号所表示的权限                 o

用户符号:

u:拥有者

g:拥有者同组用户

o :其他用户

a :所有用户

chown:修改文件的拥有者

例如:改变拥有者和群组;

chown root:root filename(:后面无空格)  ||  chown root: filename(: 后面有一个空格)


          chown :root filename (:前面有空格)   //改变群组,而不改变拥有者

chgrp:修改文件或目录的所属组;

例如:chgrp root filename相当于chown :root filename (:前面有空格)

总结一下chown与chgrp的区别:

分析结果如上:chown既可以改变拥有者也可以改变所属组,而chgrp只能改变所属组;

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目录。即使目录仍然有 -r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)。而如果目录具有 -x 权限,但没有 -r权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行 ls 命令,但仍然没有权限读出目录下的文档。

ls 指令:

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-b 把文件名中不可出的字符用反斜杠加字符编号 (就象在 C语言里一样 )的形式列出。

-c 输出文件的 i 节点的修改时间,并以此排序。

-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

-k k 字节的形式表示文件的大小。 ls –alk 指定文件

-l 列出文件的详细信息。

-m 横向输出文件名,并以 作分格符。ls –m

-n 用数字的 UID,GID 代替名称。 (介绍 UID GID

-o 显示文件的除组信息外的详细信息。

-F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可

执行的普通文件; “/”表示目录;“@”表示符号链接; “|”表示

FIFOs“=” 表示套接字 (sockets)。(目录类型识别)

-q ? 代替不可输出的字符。

-r 对目录反向排序。

-s 在文件后输出该文件的大小

-t 以时间排序

cd命令:

适用对象:所有使用者;

命令格式:cd [dirname](cd 和目录之间用空格隔开);

作用:切换当前目录至dirname目录;

cd ~:进入用户目录;

cd -:返回最近访问目录;

cd .. :返回上级目录;

date显示:

date 指定时间格式:date +%Y_%m_%d,   date +%Y:%m:%d

date 命令本身提供加减的运算

如得到昨天的的时间:date +%Y%m%d --date=“-1 day”对年月日都可进行加减运算;

时间戳

时间 ->时间戳:date +%s

时间戳 ->时间: date +%Y:%m:%d -d @1425384141

Unix时间戳(英文为Unix epoch, Unix time, POSIX

time Unix timestamp )是从1970 11 日(UTC/GMT

的午夜)开始所经过的秒数,不考虑闰年。

cal 指令:

-1 显示一个月的月历

-3 显示系统前一个月,当前月,下一个月的月历

-s 显示星期天为一个星期的第一天,默认的格式

-m 显示星期一为一个星期的第一天

-j 显示在当年中的第几天(一年日期按天算,从 11 号算

起,默认显示当前月在一年中的天数)

-y 显示当前年份的日历

touch 指令:

linux的 touch命令不常用,一般在使用 make的时候可能会用

到,用来修改文件时间戳,或者新建一个不存在的文件。

1.命令格式:

touch [选项 ]... 文件 ...

2.命令参数:

-a 或 --time=atime或 --time=access或 --

time=use只更改存取时间。

-c 或 --no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f  此参数将忽略不予处理,仅责解决 BSD版本 touch指

令的兼容性问题。

-m 或 --time=mtime或 --time=modify  只更改变动

时间。

-r  把指定文档或目录的日期时间,统统设成和参考文档

或目录的日期时间相同。

-t  使用指定的日期时间,而非现在的时间。

3.命令功能:

touch命令参数可更改文档或目录的日期时间,包括存取时

间和更改时间。

mkdir 指令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

1.命令格式:

mkdir [选项 ] 目录 ...

2.命令功能:

通过 mkdir 命令可以实现在指定位置创建以 DirName( 指定的文件名 ) 命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹 ( 目录) 不能与其父目录 ( 即父文件夹 )中的文件名重名,即同一个目录下不能有同名的 ( 区分大小写 )。

命令参数:

-m, --mode= 模式,设定权限 <模式 > ( 类似 chmod) ,

而不是 rwxrwxrwx 减 umask

-p, --parents 可以是一个路径名称。此时若路径中

的某些目录尚不存在 , 加上此选项后 ,系统将自动建立好那些尚

不存在的目录 , 即一次可以建立多个目录 ;

-v, --verbose 每次创建新目录都显示信息

--help 显示此帮助信息并退出

--version 输出版本信息并退出

示例:

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

创建权限为 777 的目录: mkdir –m 777 test3

rmdir指令与rm指令:

rmdir指令与mkdir是相对应的,删除的是空目录

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

rm指令:

作用删除文件或目录;

-f 即使文件属性为只读 (即写保护 ) ,亦直接删除

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

rmdir指令与rm指令的区别:

rmdir指令删除的是空目录,而rm指令能删除文件或目录,不管是不是为空,

cp指令

复制文件或目录;

cp file1 file2  将文件file1复制成文件file2;

cp -r dir dir1 讲dir复制到dir1,如果dir1不存在就创建它;

cp file1 dir1 将文件file1复制到目录dir1;

mv指令:

视 mv命令中第二个参数类型的不同(是目标文件还是目录), mv 命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时, mv 先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

mv file1 file2    如果file2存在就被file1覆盖了;不存在就创建file2

basenam指令:

输入basename “hello world”则输出hello world;

dirname指令:

dirname命令的作用是处理路径,以获取路径的父目录,而且dirname不会检查路径是否合法。

more指令:

功能简述: more 命令,功能类似 cat , cat 命令是整个文件的内容从上到下显示在屏幕上。 more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键( space )就往下一页显示,按 b键就会往回( back )一页显示,而且还有搜寻字串的功能。 more 命令从前向后读取文件,因此在启动时就加载整个文件。[ 也是内容显示命令 ]

命令参数:

+n 从笫n 行开始显示

-n 定义屏幕大小为 n行

+/pattern 在每个档案显示前搜寻该字串( pattern ),然后从该字串

前两行之后开始显示

-c 从顶部清屏,然后显示

-d 提示“Press space tocontinue , ’q’ to quit(按空格键继续,按 q 键退

出) ” ,禁用响铃功能

-l 忽略Ctrl+l (换页)字符

-p 通过清除窗口而不是滚屏来文件进行换页,与 -c 选项相似

-s 把连续的多个空行显示为一行

-u 把文件内容中的下画线去掉

cat > file – 将标准输入添加到 file

more file – 查看 file 的内容

head file – 查看 file 的前 10 行

tail file – 查看 file 的后 10 行

tail -f file – 从后 10 行开始查看 file 的内容

Which 查看可执行文件的位置。// which file

whereis 查看文件的位置。       //whereis file

locate 配合据库查看文件位置。

Find 实际搜寻硬盘查询文件名称。

find指令:atime 、mtime 、ctime的区别:

atime是指access time,即文件被读取或者执行的时间;

ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

mtime即modify time,指文件内容被修改的时间

-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n 天以前

-atime -n +n 按文件访问时间来查找文件,-n指n天以内,+n指n 天以前

-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n 天以前

-name 按照文件名查找文件。

-perm 按照文件权限来查找文件。

-prune 使用这一选项可以使 find命令不在当前指定的目录中查

找,如果同时使用 -depth选项,那么 -prune将被 find命令忽略。

-user 按照文件属主来查找文件。

-group 按照文件所属的组来查找文件。

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文

件更改时间距现在 n天以内, + n表示文件更改时间距现在 n天以

前。 find命令还有 -atime和 -ctime 选项,但它们都和 -m time

选项相同。

-type 查找某一类型的文件;

例如:b - 块设备文件;

d - 目录   c- 字符设备文件   p- 管道文件    l- 连接文件      f - 普通文件

-size n:[c]查找文件长度为n块的文件,带有c时表示文件以字节计;

gzip指令:

文件压缩与解压缩指令;

语法: gzip [选项] 压缩(解压缩)的文件名    //gzip  file

-c 将输出写到标准输出上,并保留原有文件。// gzip -c file

-d 将压缩文件解压。    //gzip -d file.gz

-l 对每个压缩文件,显示下列字段:   //gzip -l file.gz

 (1)压缩文件的大小 

 (2)未压缩文件的大小

 (3)压缩比

 未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t 测试,检查压缩文件是否完整。

Linux 压缩保留源文件的方法:

gzip –c filename > filename.gz

Linux 解压缩保留源文件的方法:

gunzip –c filename.gz > filename

注: gzip不能压缩整个目录。可以使用 tar先打包,再压缩;

zcat指令:

zcat指令查看一个gzip格式的压缩文件;

zcat file.gz>test.txt    查看一个压缩文件的内容并把内容输出的test.txt文件中;

zcat 命令也可以解压缩数据,并把解压后的文件内容显示在屏幕上,但是 在运行 zcat 命令之后,压缩文件的内容并不发生变化,仍然以压缩方式存储在硬盘上。

总结:

zcat file.gz>test.txt    查看一个压缩文件的内容并把内容输出的test.txt文件中;压缩文件的内容并不发生变化,仍然以压缩方式存储在硬盘上。

gzip -d file.gz 讲file.gz文件解压缩生成file,但源文件file.gz消失,只显示file;

gunzip -c file.gz>file 解压缩后能保留源文件;

tar指令:

-cvf  仅打包不压缩;tar -cvf  tmp etc.tar etc        将整个etc目录下的文件全部打包成为tmp etc.tar;

-zcvf 打包后压缩;tar -zcvf  tmp etc.tar.gz etc     打包后以gzip压缩;

pwd指令:查看当前目录的工作路径;

cat指令:

cat file 一次显示整个文件;

cat>filename  从键盘创建一个文件

cat file1 file2>file   将几个文件合并为一个文件,源文件仍存在!

sort指令:

将文本文件内容加以排序;

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。 //  sort -c file

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的

字符。

-f 排序时,将小写字母视为大写字母。

-m 将几个排序好的文件进行合并。

-M 将前面 3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o<输出文件 > 将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。   sort -r file

uniq指令: 

-c  显示输出中,在每行行首显示出现的次数;  //uniq -c file1

-d  只显示重复行;

-u  只显示不重复的行;

kill指令:

命令格式:kill 参数  进程号;

-l 如果不加信号的编号参数,则使用“-l"参数会列出全部的信号;

-p 指定kill命令只打印相关进程的进程号,而不发送任何信号;

diff指令:

命令格式 :diff 参数 文件1/目录1  文件2/目录2;

重要的几个热键 [Tab],[ctrl]-c, [ctrl]-d

[Tab] 按键--- 具有『命令补全』不『档案补齐』的功能

[Ctrl]-c 按键--- 让当前的程序『停掉』

[Ctrl]-d 按键--- 通常代表着:『键盘输入结束 (End Of File,EOF 戒 End OfInput) 』的意思;另外,他也可以用来取代 exit;


本文出自 “溪风” 博客,请务必保留此出处http://xiexiankun.blog.51cto.com/10785425/1775870

以上是关于linux 常用的操作指令的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础(03)常用基础指令和操作

linux常用指令介绍

Linux常用命令操作

LINUX中常用操作命令

Linux系统常用指令压缩和解压&组管理和权限管理&crond 任务调度

Linux常用指令