前言
**(在学生阶段)我们现在普遍使用的都是windows操作系统,很少使用Linux操作系统;因为windows操作系统采用的是图形化界面,给使用者带来很多方便;Linux由于都是命令行,所有相对使用较少,但不影响Linux是一个优秀得到操作系统;在学习Linux之前,我们需要搭建Linux环境:**
** 1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好, 不推荐. **
** 2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会****导致环境上出现各种莫名其妙的问题, 比较折腾. **
** 3. ****使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. **
--------------------------------------------------------------------------------------------------------------------------
当环境有了以后,怎么登录到Linux呢?
** 接下来需要安装xshell软件,它是一款远程终端软件。**
一、用户名的创建与删除
** 当我们环境搭建好以后,登录上xshell后,需要我们输入用户名,由于我们还没有创建任何用户名,默认的用户名是root,它的权限是很高的,我们一般需要去自己创建一个用户名;**
1.adduser命令
功能说明:添加/创建新用户
语 法:**adduser 用户名**
passwd命令
功能说明:给创建的用户设置密码
语 法:**passwd 用户名**
注:如果你不给用户添加密码也是可以的,但是当你想要使用这个用户时,没有密码是无法登录的。
2. userdel命令
功能说明:删除用户
语 法:**userdel -r 用户名**
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
**-r: **删除用户登入目录以及目录中所有文件。-f :****强制删除用户(甚至当用户已经登入 Linux 系统时此选项仍旧生效)。
以上创建和删除用户都需要在root权限下使用;
二、Linux下文件访问指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
1.绝对路径与相对路径
**绝对路径:从根目录出发去找相应的文件,就叫做绝对路径;在上图中 ****/ **是根目录;
相对路径:从当前文件的所在路径出发去找相应的文件,就叫做相对路径;
2.ls指令
功能说明:1.对于目录,该命令列出该目录下的所有子目录与文件;
** 2.对于文件,将列出文件名以及其他信息。**
语 法:**ls 选项 目录或文件**
常用选项:
** -a:列出目录下的所有文件,包括以 . 开头的隐含文件**
** **** -d:**将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
** **** -i: **输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
** **** -k:**以 k 字节的形式表示文件的大小。ls –alk 指定文件
** **** -l: **列出文件的详细信息;ls -l 通常可以写成 ll
** **** -r: **对目录反向排序
** ****-t: **以时间排序
** -s:在文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)**
** **** -R:**列出所有子目录下的文件。(递归)
** -1:一行只输出一个文**
3.pwd命令
功能说明:显示用户当前所在的目录
语 法:****pwd
4.cd指令
功能说明:改变工作目录。将当前工作目录改变到指定的目录下。
语 法:****cd 目录名
举 例:
** cd .. : 返回上级目录 **
** **** cd /home/mlg/lesson1/ ****: 绝对路径 **
** ****cd ../lesson2/ ****: 相对路径 **
** ****cd ~**:进入用户家目录
** ****cd -**:返回最近访问目录
三、Linux下文件创建与删除指令
1.touch指令
功能说明:在当前目录下创建普通文件
语 法:****touch 文件名
注:这里暂时只做简单介绍及使用
2.mkdir指令
功能说明:在当前目录下创建一个文件夹
语 法:****mkdir 目录名
-p:**--parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; **
3.rmdir指令&&rm指令
**rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。 **
功能说明:删除空目录
语法:**rmdir 选项 目录 **
**适用对象:具有当前目录操作权限的所有使用者 **
常用选项:
** -p: 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。**
**rm命令可以同时删除文件或目录 **
功能说明:删除文件或目录
*语法:***rm **选项 目录名或文件名
**适用对象:所有使用者 **
常用选项:
** -f: 即使文件属性为只读(即写保护),亦直接删除 **
** **** -i:**** 删除前逐一询问确认 **
** -r: 删除目录及其下所有文件**
四、Linux下文件拷贝与剪切指令
1.cp指令
功能说明: 复制文件或目录
语法:**cp 选项 源文件或目录 目标文件或目录 **
**注: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息 **
**常用选项: **
**-f: ****或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 **
**-i: ****或 --interactive 覆盖文件之前先询问用户 **
**-r:****递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 **
**-R: **或 --recursive递归处理,将指定目录下的文件及子目录一并处理
除了以上的操作以外,我们还可以在拷贝的过程中给它重命名
2.mv指令
**mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) fifiles),是Linux系统下常用的命令,经常用来备份文件或者目录。 **
**语法: mv [选项] 源文件或目录 目标文件或目录 **
**功能: **
*1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的***目录中。 **
*2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它***将所给的源文件或目录重命名为给定的目标文件名。 **
*3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至***目标目录中。 **
**常用选项: **
** **** -f :****force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 **
** **** -i :**若目标文件 (destination) 已经存在时,就会询问是否覆盖!
五、Linux下文件查看指令
1.cat指令
功能说明:** 查看目标文件的内容**
语 法:cat 选项 文件
**常用选项: **
** -b 对非空输出行编号 **
** **** -n**** 对输出的所有行编号 **
** ****-s **不输出多行空行
** nano是一个字符终端的文本编辑器,它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。**
** nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上-w选项吧。**
2. more指令&&less指令
**语法:more 选项 文件 **
**功能:more命令,功能类似 cat **
**常用选项: **
** -n 对输出的所有行编号 **
** q 退出more **
注意:more的缺点是只能向下查看,不能向上查看
**less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。 **
**less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看 **
**但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容! **
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
**语法: less 选项 文件 **
**功能: **
*less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前***不会加载整个文件。 **
**选项: **
** -i:忽略搜索时的大小写 **
** -N:显示每行的行号 **
** /: 字符串:向下搜索“字符串”的功能 **
** ?: 字符串:向上搜索“字符串”的功能 **
** n:重复前一个搜索(与 / 或 ? 有关) **
** N:反向重复前一个搜索(与 / 或 ? 有关) **
** q:退出**
3.head指令&&tail指令
** head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。**
**语法: head 参数 文件 **
**功能: **
**head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 **
**选项: **
-n<行数> 显示的行数
-----------------------------------------------------------------------------------------------------------------------
** tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f fifilename会把fifilename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. **
**语法: ****tail ****必要参数 选择参数 文件 **
**功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。 **
选项:
** ****-f ****循环读取 **
** -n<行数> 显示行数**
**查看前10行和后10行的内容 **
如果想要查看第100行到120行的内容,该怎么办呢?
首先,补充两个重要的知识:****重定向和管道
1.echo指令
echo命令的意思是在显示器上显示一段文字,起到提示的作用。
该命令的常规格式为:echo [字符串]
当我们在上述指令中做一些变化:
** 本来应该输出到屏幕上的内容,它却输出到了test.txt 文件中,我们把这种操作叫做重定向;**
对于test.txt这个文件,如果我们没有创建,它会自动创建再输出到文件中,如果存在,就不会创建,直接输出到文件中。
如果不想对之前的内容进行覆盖,就需要使用追加重定向,使用方法就是将原来的>改为>>;
** 既然有输出cdx,那么就一定有输入重定向:**
**那么以上和我们查找100~120之间的内容有什么关系呢? **
2.管道技术
上面的方法略显麻烦,能不能用一个指令就完成这样的操作呢?当然是可以的;这就用到了管道技术:在两个指令之间加上 | ;
4.find指令和whitch指令
功能说明: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
**语 法: find 文件路径 -name 文件名 **
**常用选项: **
** -name 按照文件名查找文件**
也可以使用通配符来进行查找
which指令
功能说明: 将命令的完整路径写入标准输出
语 法: which 指令名
5.grep指令
功能说明: 在文件中搜索字符串,将找到的行打印出来
**语 法: grep 选项 搜寻字符串 文件 **
**常用选项: **
** - i :忽略大小写的不同,所以大小写视为相同 **
** -n :顺便输出行号 **
** -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行**
六、Linux下文件打包与压缩指令
1.zip指令&&unzip指令
功能说明: 将目录或文件压缩成zip格式
**语 法: zip 压缩文件.zip 目录或文件 **
**常用选项: **
** -r 递 归处理,将指定目录下的所有文件和子目录一并处理**
unzip指令
功能说明: 将目录或文件解压缩成
语 法:** unzip**** 压缩文件.zip **
2.tar指令
功能说明: 将目录或文件打包
语 法: tar 选项 文件与目录 ....
参数:
**-c**** :建立一个压缩文件的参数指令(create 的意思); **
** -x :解开一个压缩文件的参数指令! **
** ****-t **** :查看 tarfifile 里面的文件! **
** -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? **
** **** -j **** :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? **
** -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! **
** ****-f **** :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! **
** -C : 解压到指定目录**
七、其他指令
1.man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
功能说明:访问Linux手册页
*语法:***man **选项 命令
**1 是普通的命令 **
**2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) **
**3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件 **
**5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 **
**6 是给游戏留的,由各个游戏自己定义 **
**7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明 **
8 是系统管理用的命令,这些命令只能由root使用,如ifconfifig
9 内核例程[非标准]
** 如果你不知道man是什么,也可与输入 man man**
** 例如:我对C语言中的printf函数不理解,想查看手册**
2.bc指令
** bc命令可以很方便的进行浮点运算**
3.uname指令
功能说明:用来获取电脑和操作系统的相关信息。
语 法:**uname 选项 **
**补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。 **
**常用选项: **
** -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称**
4.shutdown指令
功能说明:关机
语 法:**shutdown 选项 **
选项说明:
-t seconds : 设定在几秒钟之后进行关机程序。
-k : 并不会真的关机,只是将警告讯息传送给所有使用者。
-r : 关机后重新开机。
-h : 关机后停机。
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
-c : 取消目前已经进行中的关机动作。
-f : 关机时,不做 fsck 动作(检查 Linux 档系统)。
-F : 关机时,强迫进行 fsck 动作。
time : 设定关机的时间。
message : 传送给所有使用者的警告讯息。
八、重要的几个热键
**Tab 按键---具有【命令补全】和【档案补齐】的功能 **
Ctrl+c按键---让当前的程序【停掉】
Ctrl+d按键---通常代表着:【键盘输入结束(End Of File, EOF 戒 End OfInput)】的意思;另外,他也可以用来取代exit
键盘上的"上"键 和 "下"键,可以用来查看历史指令并使用
版权归原作者 霄沫凡 所有, 如有侵权,请联系我们删除。