一丶Linux和Windows
Linux和Windows的区别:
-
开源性:
- Linux是开源的,意味着任何人都可以访问其源代码,并能够自由地修改和分发。
- Windows是闭源的,只有微软可以访问和修改其源代码,用户必须购买使用许可。
-
应用程序:
- Windows拥有大量的商业软件和游戏支持。
- Linux则更适合运行开源软件,且通常被开发者和技术社区所青睐。
-
安全性:
- Linux被认为比Windows更安全,因为其更少受到病毒和恶意软件的侵扰,同时更新和补丁发布也更为迅速。
- Windows由于其广泛的用户基础,常常成为病毒和黑客攻击的目标,虽然近年来其安全性已有显著提高。
二丶Linux常用的指令
01.pwd cd
pwd:查看自己当前在哪个目录
cd:根据绝对路径或者相对路径进入到对应的目录,这是我们就需要了解Linux磁盘上文件的结构,它是一棵树,“ / '' 是根目录
绝对路径是从文件系统的根目录开始的完整路径,可以唯一地标识文件或目录的位置;而相对路径是相对于当前工作目录的路径,描述了目标文件或目录与当前位置之间的关系,路径之间用” / “分开,虽然跟根目录一样,但本质不一样。比如:“/home/eve”就是一个绝对路径,这个路径只会到达唯一一个地方。相对路径在下面的指令会讲。
紧接着就是家目录
- 路径表示:在Linux系统中,普通用户的家目录通常位于
/home
目录下,并以用户名命名。例如,如果用户名为“john”,则其家目录通常是/home/john
。 - 符号表示:家目录可以通过波浪号
~
来表示,~/
即代表当前用户的家目录。对于root用户,其家目录是/root
。
我们有一个名为“xiaoba”的文件,利用cd指令和绝对路径我们在各个文件中可以穿梭。
02. ls
ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
加粗是比较常用的指令
上图我们可以看见ls -la和 ll -a的输出结果是一样的,这里要注意两个点,一是这个指令ls 后面跟的选项可以多跟,二是 ll 是 ls -l 的别名,在Linux中我们可以给指令起别名,但一般不建议使用
- 创建临时别名
- 使用
alias
命令:在终端中输入alias 别名='原命令'
来创建一个新的别名。例如,要为ls -al
创建一个别名la
,可以输入alias la='ls -al'
。 - 立即测试使用:创建后,直接输入新别名(如
la
)并回车,系统将执行对应的长命令(如ls -al
)。 - 查看所有别名:使用
alias -p
或只输入alias
可列出当前会话中的所有别名及其定义。
- 使用
- 删除临时别名
- 使用
unalias
命令:当你不再需要一个别名时,可以通过unalias 别名
来删除它。例如,要删除之前创建的la
别名,输入unalias la
。
- 使用
我们可以回到 -a 中提到的” . “开头的文件,一般情况下这类文件是被隐藏了的,我们看下图的示例,”xiaoba“文件是新建的文件,里面原本是空的,用 ll -a后出现了两个文件,只有一个点的文件是表示当前目录,两个点的是当前目录的上一级目录,可能还是有点不太理解,继续往下看就明白了。
我们先创建了名为123的文件,ll -a查看成功创建,进入到123,再用ll -a只有两个文件,然后 cd ..接着使用pwd,我们发现我们回到了xiaoba,也成功说明cd后面跟的路径..,代表了123的上级路径,cd ./123,” . “表示当前路径 ” / “路径分隔符,123是当前路径xiaoba的一个文件, ./123 == /root/xiaoba/123,这就是区别于绝对路径的相对路径。
03.一切皆文件
剩下的指令都简单讲解,因为这篇文章还是讲一些刚开始学习Linux的细节,毕竟指令要具体使用可以百度。
Linux中秉持着一切皆文件的原则,指令(程序)也是文件,存放在整个系统的某处,用which可以查看,这里还跟你说了ll 是 ls -l的别名,存放在/bin/ls路径。
touch:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
mkdir:在当前目录下创建一个名为 “XXX”的目录, -p可以创建一连串目录。
下面是例子(中间报错不用看),同时了解到了一个新指令 tree,以树的结构打印出目录的结构,从你tree后面跟的路径开始。
有些情况使用tree命令可能报错,not find之类的,那是你没有安装该指令, yum -y install tree就可以实现安装了,这里的安装实际上将tree文件拷贝到我们系统中的某处,成为我们需要使用的指令,因为Linux中一切皆文件。
当然想要安装其他指令也是如此 yum -y install XXXX,可能会有不一样的,具体情况请百度。
rmdir:删除空目录
rm:删除文件或者目录
先看rm,只使用rm系统会问你是否要删,y代表yes,n代表no,-f强制删除,系统不会再问。 -r删除目录以及目录下的文件,依然会问,-rf就会全部删除。
rmdir -p:如果子所有目录也是空,可以将该目录以及所有子目录都删掉,比如rmdir -p a,就会删除 a/b/c/d/e,怎么使用个人决定。
man:Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man
man ls
cp:复制文件或目录,cp [选项] 源文件或目录 目标文件或目录。(copy)
mv:mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。mv [选项] 源文件或目录 目标文件或目录
值得一提的是,目标文件不存在的话,会自己生成一个文件。
cat:查看目标文件的内容,cat [选项][文件]
-n可以打印行号
此时又可以新加一个指令,nano:是一个易于使用的终端文本编辑器,适用于快速编辑文件。
返回的方法是 ctrl + x , y ,enter。依然没有的文本可以快速创建。
more:more命令,功能类似 cat
less:less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极 其强大。less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。
head:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
tail:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
date:显示 date 指定格式显示时间: date +%Y:%m:%d date 用法:date [OPTION]... [+FORMAT]
%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
时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。
cal:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
find:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
grep:在文件中搜索字符串,将找到的行打印出来
zip/unzip: zip压缩文件.zip 目录或文件,unzip解压,-r递归处理,将指定目录下的所有文件和子目录一并处理
tar:打包/解包,不打开直接看内容
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
bc:bc命令可以很方便的进行浮点运算
uname:uname用来获取电脑和操作系统的相关信息。
shutdown:关机
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
以上就是我们平常经常使用的Linux指令了。