Linux的基本命令

Linux :

1、Linux的发展史 unix---minix---linux

Unix

是Ken Thompson当时是为了让一台空闲的电脑上能够运行“星际旅行”游行,用了1个月的时间 编写出了 Unix操作系统的原型,BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统。因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言,然后他俩在B语言的基础上又研发出了先在大名鼎鼎的C语言,然后用C语言写出了Unix操作系统。

Minix

因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

Linux

因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Lin ,后来经过全世界的网友的帮助,最终能够兼容多种硬件;



2、Linux的基本命令操作

查看文件信息:ls

ls -a显示指定目录下所有子目录与文件,包括隐藏文件

ls -l以列表方式显示文件的详细信息

ls -h配合 -l 以人性化的方式显示文件大小

通配符:

*文件代表文件名中所有字符

ls te*查找以te开头的文件

ls *html查找结尾为html的文件

?代表文件名中任意一个字符

ls ?.c只找第一个字符任意,后缀为.c的文件

ls a.?只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[][”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc]匹配a、b、c中的任意一个

[a-f]匹配从a到f范围内的的任意一个字符

ls [a-f]*找到从a到f范围内的的任意一个字符开头的文件

ls a-f查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用

\如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。

ls \*a查找文件名为*a的文件

输出重定向命令:

 >输出重定向会覆盖原来的内容

>>输出重定向则会追加到文件的尾部

分屏显示:more

管道:|  一个命令的输出可以通过管道做为另一个命令的输入  就是一头进一头出

清屏:clear

切换工作目录: cd  

cd 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。

cd ~切换到当前用户的主目录(/home/用户目录)

cd .切换到当前目录

cd ..切换到上级目录

cd -可进入上次所在的目录

显示当前路径:pwd

创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

绝对路径和相对路径

相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置

绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置

创建文件:touch

查看历史命令:history 

查看文件内容:cat

编辑文件:gedit

删除目录:rmdir 

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。

删除文件:rm    使用rm命令要小心,因为文件删除后不能恢复

rm -i以进行交互式方式执行

rm -f强制删除,忽略不存在的文件,无需提示

rm -r递归地删除目录下的内容,删除文件夹时必须加此参数

建立链接文件:ln

ln -s 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

ln硬链接:硬链接只能链接普通文件,不能链接目录。

查看或者合并文件内容:cat

文本搜索:grep 可以搜索文件内容·

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。

grep  -v显示不包含匹配文本的所有行(相当于求反)

grep -n显示匹配行及行号

grep -i忽略大小写

^a行首,搜寻以 m 开头的行;grep -n '^a' 1.txt

ke$行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt

[Ss]igna[Ll]匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt

.(点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

查找文件:find

find ./ -nametest.sh查找当前目录下所有名为test.sh的文件

find ./ -name '*.sh'查找当前目录下所有后缀为.sh的文件

find ./ -name "[A-Z]*"查找当前目录下所有以大写字母开头的文件

find /tmp -size 2M查找在/tmp 目录下等于2M的文件

find /tmp -size +2M查找在/tmp 目录下大于2M的文件

find /tmp -size -2M查找在/tmp 目录下小于2M的文件

find ./ -size +4k -size -5M查找当前目录下大于4k,小于5M的文件

find ./ -perm 0777查找当前目录下权限为 777 的文件或目录

拷贝文件:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令

-f已经存在的目标文件而不提示

-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v显示拷贝进度

移动文件:mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

-f禁止交互式操作,如有覆盖也不会给出提示

-i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v显示移动进度

归档管理:tar

tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

-c生成档案文件,创建打包文件

-v列出归档解档的详细过程,显示进度

-f指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

-t列出档案中包含的文件

-x解开档案文件

归档:tar -cvf test.tar *  归档是没有压缩功能的

解档:tar -xvf test.tar

文件压缩解压:gzip

-d解压

-r压缩所有子目录

压缩用法:tar cvzf 压缩包包名 文件1 文件2 ... 

解压用法: tar zxvf 压缩包包名

归档并压缩:tar -zcvf test.tar.gz *

解压缩:tar -zxvf test.tar.gz

解压到指定目录:-C (大写字母“C”)

文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

查看命令位置:which

你可能感兴趣的:(Linux的基本命令)