前言
hello,小伙伴们大家好。从今天开始,我将带领大家学习Linux操作系统。Linux稳定,速度快,并且最重要的一点,它是开源的,所以大多数公司都会选择Linux操作系统作为服务器。作为一名合格的程序员,了解并能熟练使用Linux是一项必备技能。那么今天,我将带大家初识Linux操作系统,讲解一些它的基本指令。
Linux基本指令
1.ls指令
我们先要明确目录和文件的概念。
目录:目录也是文件,是一种特殊文件,叫目录文件,简称目录。相当于windows下的文件夹。
文件:除目录文件外的普通文件称为文件。
1.1 ls
ls会默认列出当前目录中的子目录或文件。我们可以通过ls+路径的方式指定目录。/若在路径中央则起到分隔符的作用。
例如:
如图,则会列出,zxy文件夹中的的文件。
/home/XXX就叫做XXX用户的主工作目录,一般是在登录之后默认的,我们可以通过root账号管理这些用户。
1.2 ls -l
如果我们想要查看某一个目录中内容的相关信息,则可以使用ls -l
可以对比windows系统下的文件或文件夹,后面会默认显示相关信息。
** 1.3 ls -a**
会把某一个目录中的隐藏文件也显示出来
注意:如果文件前面加了. 则说明该文件是隐藏文件。其中.代表当前文件,..代表上一级文件。
当然,我们也可以使用ls -al,将文件隐藏文件的相关信息也显示出来。
1.4 ls -d
常和ls -l搭配使用,写为ls -dl。ls -l是查看某个目录中内容的信息,而ls -dl用于查看指定目录的信息。
1.5 绝对路径和相对路径
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录和文件。/代表根目录 。
绝对路径:以/根路径开始的一条路径,具有唯一性,例如:/home/zxy/test
相对路径:和当下处在的位置有关,例如: ../..
思考:为什么大部分操作系统,组织目录结构时,都喜欢用树形结构?
答:为了方便查找,所有的文件都应该具有唯一的标识方式,而根节点到叶子节点的路径是唯一的(可以反过来想,因为叶子节点到根节点的路径是唯一的)。
2.pwd指令
功能:显示用户当前所在的目录。
3.cd指令
功能:改变工作目录,将当前的工作目录改变到指定的工作目录下。
cd .. :返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径cd ~ :进入用户的家目录
cd -:返回最近的访问目录
4.touch指令
**语法:**touch [选项]... 文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
5.mkdir指令
功能:创建一个目录
常用选项:mkdir-p, 后面可以跟一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
举例:
mkdir –p test/test1 : 递归建立多个目录
6.rmdir指令和rm指令
1.rmdir指令
rmdir是一个和mkdir相对应的指令,mkdir建立目录,rmdir删除目录。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
2.rm指令
功能:删除目录和目录中的所有内容
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
- -rf直接不加询问删除目录下所有内容
3.通配符
*为通配符,可以匹配当前目录下任何内容
当我们想删除当前目录下的所有文件时可以这样使用:
如图所示,rm只能将文件删除,如果想把目录也一并删除,要使用rm -rf
我们也可以使用 rm *.txt删除当前目录下后缀为txt的文件 。
7.man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man 语法: man [选项] 命令。
1 是普通的命令。
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件。
8.cp指令
语法:cp [选项] 源文件或目录 目标目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
cp -r :按递归的方式复制目录下的所有内容
cp -f:强制复制,不加以询问
9.mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
9.1 移动文件(windows系统下的剪切)
语法:mv [options] source test
9.2 将文件重命名
10、cat,more与less指令
10.1 cat指令
功能:查看目标文件的内容,多用于文本文件或查看日志。会将目标文件的全部内容打印到屏幕上,如果文件内容超出屏幕则会刷屏到最后。
注意:tac可以逆向打印
10.2 more指令
共能:more文件和cat文件一样,也是用来打印文本内容的。区别是文本内容超出屏幕时,more不会刷屏,而是会停在当前位置,按回车健进行下翻。
10.3 less指令
功能:与more指令相同,唯一的不同点是less不但支持下翻还支持上翻(用上下键控制)。
11、重定向
11.1输入重定向
cat默认是从键盘上输入数据。当我们指定从特定的文件输入数据时,称为输入重定向。
11.2输出重定向
echo默认把数据输出到屏幕上,当我们指定数据输出到特定文件中时,称为输出重定向。注意:输出重定向会清空文件中之前的内容。
11.3追加重定向
追加重定向和输出重定向类似,区别是不会清空原文件的内容,而是在后面追加。
12、head与tail指令
12.1 head指令:
语法:head -n(行数) 文件
功能:拿出某个文件前n行
12.2 tail指令
语法:tail -n(行数) 文件
功能:拿出某个文件后n行
12.3| 命令符
|命令符称为管道。
计算机中最重要的东西就是数据,而管道就是用来传输数据的。
例子如下:
head -1010 file.txt | tail -10 //该命令的作用为取出file.txt文件中的1001至1010行。
|前的命令为生产数据,|作用为传输数据,|后的命令为读取数据。
13.时间相关的指令
13.1date显示
date可以显示当前时间,并且我们可以通过调整指令使时间显示成我们日常生活中习惯看的那样。
13.2时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
时间戳是指从1970年1月1日午夜经过的秒数。
14、cal命令
cal用来显示日历
常用选项 :
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
15、find命令与which命令
find命令是用来查找任何文件的,直接从磁盘上查找,速度较慢,我们后面再详细讲。
而which是用来查找命令文件的,例如通过which查找ll命令的信息。
这里介绍一下alias指令,alias指令是用来给命令重新起名字的,经过alias命令的处理,ll和后面等号后面的命令等价。
16、grep指令
语法: grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,并把字符串所在的行打印出来
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
grep -n和grep -v
grep -i
17、zip/unzip指令
17.1 zip
功能:将目录或文件压缩为zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
17.2 unzip
功能 :将文件解压缩,默认解除到当前目录
常用选项:
-d 可以指定解压路径
解压到tmp目录:unzip test2.zip -d /tmp //注意要在压缩文件后面加-d
18、tar指令
功能:将目录和文件压缩成tgz形式
常用选项:
-c :建立一个压缩文件的参数指令(create 的意思)
-x :解开一个压缩文件的参数指令!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
压缩: czf通常连用
解压: xzf通常连用
19、bc指令
功能:用来进行浮点数计算
20、uname -r指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
21、重要的几个热键
- tap---具有『命令补全』和『档案补齐』的功能
- ctrl-c按键---让当前的程序『停掉』
- ctrl-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
- 方向键上下---用来查看最近敲下的命令
- su - ---切换到root用户
22、添加用户和删除用户
22.1 adduser ---添加用户
需要在root权限下。
使用示例:adduser dtxew(创建一个名为dtxew的用户)
passwd修改用户密码。
22.2 userdel ---删除用户
需要在root权限下。
使用示例:userdel -r test(删除名为test的用户)
注意:删除用户最好加上-r,这样可以删除该用户所有的文件。
23、关机
必须在root权限下
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
这个命令一般用不到,因为云服务器一般要求一直运行的。
总结
这就是本文要讲的全部内容。本文主要讲解了一些Linux下的一些常用命令,小伙伴们看完后是否觉得有一些收获呢?如果感觉博主写的还不错的不妨点个赞支持一下哦~你们的支持就是我最大的动力。感谢大家的阅读,我将继续努力,为小伙伴们带来更加优质的内容。
版权归原作者 敲键盘的喵 所有, 如有侵权,请联系我们删除。