目录

目录信息查看命令ls

清屏命令 clear

目录切换命令 cd

自动补全Tab键的妙用

创建文件夹 mkdir

删除文件夹 rmdir

删除命令 rm

查看路径命令pwd

移动或修改命令  mv

复制命令 cp

显示创建文件命令 cat

更新或创建文件命令 touch

获取管理员权限命令 sudo

修改文件拥有者命令 chown

重复执行上次命令 !!

修改文件权限命令 chmod

关机命令 power off

重启命令 reboot

网络测试命令 ping

显示和配置网络命令 ifconfig

软件安装删除命令 apt-get


目录信息查看命令ls

主要用于显示指定目录下的内容:使用方法为 ls 【选项】【路径】

主要参数为:

-a 显示所有文件及子目录。

-l 显示文件详细信息。

-A 和-a一样,但是不显示当前目录“.”和父目录“..”。

-R 递归列出所有文件夹及子文件夹中的文件

也可以使用简写模式 ls -A 可以简写为 la

ls -l 可以简写为 ll

如果想要了解ls命令的详细使用方法可以 通过帮助命令 ls –help来查看

清屏命令 clear

可以先使用帮助命令看看clear命令的帮助信息

clear –help

如果不带参数的时候,clear 就是清除整个屏幕的显示,有时终端里面显示的内容太多,看起来不方便,就可以使用clear命令,清除屏幕显示。

输入clear命令之后,终端里面显示的内容就没了。显示的内容其实不是真正的被清除了,只是系统自动滚屏了一次,将以前显示的内容,滚屏到了上一页,如果想看以前的内容,拖动右边的滚动条就可以看到,以前的命令其实还在。

目录切换命令 cd

先看看cd命令的帮助信息

cd –help

使用方法为:cd 【路径】

cd   /          进入到根目录

cd  /test      进入到当前目录下的test目录中

cd  ..         返回上一层目录

cd  ~         进入到当前用户主目录

在切换路径的时候,命令前面默认有一串字符串 hxydj@hxydj-VirtualBox:~$

@符号前面的一串字符串是当前用户名,@符号后面的一串字符串是当前机器的名字,

:后面的~符号代表当前是在用户主目录下,$符号表示当前是普通用户

当通过cd test 进入到test文件夹里面之后,:后面的路径就变成了 ~/test,就是目前在当前用户目录下的test目录中。

当通过cd / 进入到根目录之后,:后面的符号就变成了/,代表当前是在根目录中。

通过cd .. 返回上一层目录,由于当前是在根目录中,上面已经没有目录了,所以在根目录下返回上一层目录还是根目录。

通过 cd ~ 直接切换到用户目录中,此时:后面得符号就变成了~,说明当前在用户主目录中。

自动补全Tab键的妙用

在终端里面Tab按键可以自动补全命令,比如要进入 C_Program目录中,输入 cd C之后按一下Tab键,系统就会自动补全C_Program这个名字,因为当前目录下只有一个C开头的文件。所以系统就会自动补全这个命令。

如果当前文件夹下有好几个同样字母开头的文件,此时按一次Tab之后不会自动补全,连按两次Tab键时,会列出所有以这个字母开头的文件。

比如此时C_Program文件夹里面有好几个以3开头的文件夹,此时输入 cd 3之后按一下Tab不会自动补全路径,在按一次Tab之后,就会列出以3开头的所有文件夹。

在这个情况下如果需要自动补全的话,就需要多输入几个字母,直到以这些字母开头的文件名没有重复的为止。

TAB键不仅可自动补全路径,也可以自动补全命令,在输入命令的时候,输入前几个字母,按一下TAB键,系统也会自动补全命令。

创建文件夹 mkdir

使用方法为: mkdir 【目录名】

首先用ls命令查看当前目录下的所有文件,然后使用命令mkdir abc  创建一个abc的目录

使用ls命令再次查看当前目录,可以发现abc目录以及创建好了。

也可以使用此命令直接在目录中创建子目录,比如使用 mkdir abc/123 命令,就可以直接在abc目录里面创建一个123的目录。

删除文件夹 rmdir

使用方法为: rmdir 【目录名】

比如在abc目录中直接输入 rmdir 123命令,就可以删除123目录。

删除完成之后使用ls命令查看,发现abc目录中已经空了。

注意此命令删除目录时,目录必须为空,如果目录不为空则不能删除。

比如此时abc文件夹中还有一个111文件夹,此时用rmdir abc 命令就不能删除abc文件夹。

那么要删除非空目录要怎么办呢?此时就主要使用一个更强大的删除命令。

删除命令 rm

rm是一个通用的删除命令,可以删除文件或者目录

使用方法为: rm 【参数】【路径】

参数 -f   忽略不存在的文件和参数,永远不会提示,也就是静默删除

-i  每次删除一个文件前前都会提示

-I  在删除三个以上文件之前或递归删除时提示一次;不像-i那样每删除一个文件都会提示

-r -R 递归地删除目录及其内容,也就是会删除目录里面所有的文件和子文件

-d  删除空目录

-v  在显示删除的过程

这些参数可以单独的使用,也可以组合起来使用。

比如 mkdir -rf abc 命令,使用-rf参数,就是递归删除目录及内容,并且不提示。

rm -rdv abc  递归删除目录及文件,删除空目录并显示删除过程。

查看路径命令pwd

使用方法为:pwd

如果想知道当前目录的完整路径就可以使用pwd命令

通过pwd命令可以看到当前目录完整路径为 /home/hxydj/C_Program/3.1

移动或修改命令  mv

使用方法为: mv 【文件或目录】【路径或文件名】

第一个参数是文件或者目录名,当第二个参数是目录时,则移动文件。相当于Windows下的剪切功能。当第二个参数是文件名时,就会重命名文件。

如命令 mv abc 123 就是将abc文件夹重命名为123

由于目录中原来没有123,所以这个命令就自动识别为重命名。如果目录中有123文件夹,那么这个命令就自动识别为移动命令,也就是将abc移动到123里面去。

复制命令 cp

将源文件复制到目标文件

使用方法为: cp 【源路径】【目标路径】

比如要将aaa目录中的1.txt文件复制到bbb文件夹中,可以使用如下命令:

cp aaa/1.txt   bbb

复制命令执行结束后,可以通过ls命令查看bbb文件夹,可以看到bbb文件夹中已经有了1.txt这个文件。

如果复制文件夹及子文件中所有文件,此时需要使用参数 -r

比如要将aaa文件夹中所有内容复制到bbb文件夹中,可以使用命令

cp aaa bbb  -r

-r 参数代表递归复制目录及子目录中所有文件。

这个参数 -r 位置可以紧跟在cp的后面,也可以放在命令的最后面。

复制完文件之后,可以使用ls bbb -R命令,递归的查看bbb文件夹及子文件夹中的所有文件。

可以看到bbb文件夹中包含aaa文件夹,aaa文件夹中又包含了1.txt文件。

显示创建文件命令 cat

cat  【文件名】   显示文件中的内容

比如要显示1.txt中的内容,可以使用 cat 1.txt 命令

也可以使用cat命令新建文件  如 cat >  3.txt  就会新建一个3.txt文件

输入cat > 3.txt 命令之后,就会新建一个3.txt文件,此时可以直接在控制台中给文件里面添加内容,比如输入789,那么789就会直接写入到3.txt文件中。

如果要退出输入内容,直接按Ctrl+C键,就会退出内容编辑模式。

这时候可以使用cat 3.txt 命令直接查看文件中的内容。

使用cat命令也可以将几个文件合并为一个文件

使用命令 cat 1.txt 2.txt 3.txt > a.txt,就会将1.txt 2.txt 3.txt这三个文件内容合并,并重新命名为a.txt。

合并完成之后,就可以使用cat a.txt 命令查看a.txt 文件中的内容。

更新或创建文件命令 touch

使用touch命令可以创建或者更新文件

使用方法为:touch 【文件名】

如果文件不存在就新建文件,如果文件存在就更新文件。

首先执行 touch b.txt 命令,由于b.txt文件不存在,那么就会自动新建一个b.txt文件。

然后执行 touch 1.txt文件,由于1.txt文件存在,那么就会刷新一下1.txt文件的修改时间。可以看到1.txt文件的时候 由 15:18刷新到了 15:48

关于touch命令的详细使用方法,可以通过帮助信息查看。

获取管理员权限命令 sudo

sudo 命令是 switch user do 的简写,意思是切换用户去做某件事情。

在 Linux 中,有一个名为 root 的超级用户。它可以做任何事情,因此在日常工作中,若一时没注意输入了错误的命令,可能会导致系统崩溃,所以在 Ubuntu 下默认是不能用 root 用户登录的。但是在很多情况下我们又需要用到 root 的权限,如安装某个软件,若使用普通的用户会提示“权限不够”。这时候我们可以在需要 root 权限的命令前添加 sudo 命令,从而使当前用户获得 root 权限,并执行其后的命令。

所以 Ubuntu 需要用 sudo 实际上是提醒我们接下来执行的命令有可能会影响到系统的关键内容,要小心操作。

比如当要删除一个其他用户创建的文件aaa时,使用命令rm -rf aaa 删除,此时会提示无法删除文件,权限不够。那么此时就可以在命令前面加上sudo命令,临时使用root用户的权限去执行这条命令。

sudo rm -rf aaa 用root用户身份去执行这条命令时,就可以成功删除aaa文件夹。

修改文件拥有者命令 chown

文件权限就是可以对文件进行哪些操作,首先看一下文件都包含哪些信息。通过ls -l命令先列出文件的详细信息。

第一列为文件属性

文件属性共有十个字符,第一个字符代表文件的类型,字符“-”表示该文件是一个普通文件;字符“d”是 dirtectory(目录) 的首字符,表示该文件是一个目录。

后面的九个字符,每三个为一组,分别表示文件拥有者的权限、文件所属组拥有的权限以及其他用户拥有的权限。字符“r”代表的是读(read)权限,字符“w”代表的是写(write)权限,字符“x”代表的是执行(execute)权限。

第二列为链接占用节点、子目录的个数

第二列的含义,主要取决该文件的类型,如果是文件的话,则表示该文件所具有的硬连接数。某个文件的第二字段如果等于 1 的话,代表没有其他指向该文件的硬连接。

根据 Linux 系统存储文件的特点,链接的方式可以分为两种,分别是硬链接和软连接(符号连接)。软链接,类似于 Windows 操作系统的快捷方式。而硬链接,则是相当于把该文件复制一份,同时加上自动更新。当我们修改了硬链接文件的内容,源文件也会被修改。当为某个文件创建硬链接时,该字段的值便会加 1。可以使用 ln 命令创建软链接和硬链接,当前只要知道有这回事即可,先不要纠结软链接和硬链接的概念。

对于文件夹来说,第二字段则表示该文件夹下有多少个子目录。空文件夹的话,该值默认等于 2,这是因为包含了“.”和“..”子目录。

第三列和第四列为文件拥有者和文件所在组

Linux 系统属于多用户系统,每个文件都有它的拥有者。结合第一字段的后九个字符,一般只有文件拥有者有权利去修改文件。当然,对于 root 用户有权利去修改任何文件。

第五列为文件所占的空间大小,以字节为单位

第六列、第七列、第八列为最后一次访问或者修改的时间。

最后一列为文件或者文件夹名字

使用chown命令修改文件属性,也就是修改第三列和第四列的属性

比如要将aaa文件夹的文件夹拥有者和文件所在组修改为zm,可以使用命令

chown zm:zm aaa

此时会提示这是不允许的操作,这是为什么呢?因为此时aaa的文件拥有者和文件所在组都是hxydj,现在要将她修改为zm,而hxydj没有权限去访问zm,所以操作是不允许的。

那么要实现这个操作要怎么办呢?此时就需要用超级用户root出场了,root用户可以操作任何一个用户的文件。所以此时需要用sudo命令将命令执行权限临时提高到root用户。

可以看到使用sudo !! 命令后,文件所有者和文件所在组都变成了zm。

在这里!!命令又是什么意思呢?

重复执行上次命令 !!

!!表示执行上一次执行过的命令

通过这个命令可以看出,上次执行的命令是 chown zm:zm aaa,那么sudo !!命令中 !!就表示执行的命令为 chown zm:zm aaa。也就是说sudo !! 命令展开后就是 sudo chown zm:zm aaa

一般为了减少命令的输入,对于比较长的命令就可以直接使用!!代替。!!命令多用于要临时切换到root用户时。当输入一条命令时,系统提示 权限不够,那么就需要在命令头输入sudo来临时切换到root用户,而sudo后面还要继续输入上一次输入过的命令,此时就可以直接使用!!来代替上次输入的命令。

当然!!命令也可以单独使用。

上一条命令是 ls -l,那么直接输入!!命令时,实际执行的也是ls -l命令。

修改文件权限命令 chmod

关于文件的权限可以使用ls -l命令查看

第一列属性就代表的是文件的权限。 如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w 代表写,x 代表可执行。

权限的范围:

u :目录或者文件的当前的用户

g :目录或者文件的当前的群组

o :除了目录或者文件的当前用户或群组之外的用户或者群组

a :所有的用户及群组

权限的代号:

r :读权限,用数字4表示

w :写权限,用数字2表示

x :执行权限,用数字1表示

- :删除权限,用数字0表示

s :特殊权限

增加文件的权限时,可以直接通过字母来表示。

比如通过 chmod a+x 1.txt 就可以给所有用户添加上可执行权限。

a代表所有用户,+表示增加权限,x表示可执行权限。

同样也可以取消权限,通过chmod a-x 1.txt 给所有用户取消可执行权限

通过为了方便操作,可以直接使用数字来表示权限。读(4) 写(2) 可执行(1),如果要同时拥有读写可执行权限就是7,如果只需要读和可执行权限就是5.

命令chmod 751 1.txt 就是给1.txt文件所有者组分配读写执行权限,给文件所在组其他用户分配读和执行权限,给系统中其他用户分配执行权限。

关机命令 power off

输入power off 命令后按回车键,系统就会关机。

重启命令 reboot

输入 reboot命令后按回车键,系统就会重启。

网络测试命令 ping

使用方法为: ping 【IP地址/网址】

比如输入 ping  www.baidu.com  命令,就可以测试本台计算机能否访问到百度网站,可以用来查看链接互联网是否正常。

这个命令如果不手动终止的话会一直执行,如果要终止命令,就按一次键盘上的Ctrl+C 命令。

也可以使用ping命令测试,局域网的网络。比如要测试linux系统和Windows系统的网络是否正常,Windows的IP地址为192.168.2.106,那么就直接在终端中输入 ping 192.168.2.106 命令。

可以看到linux系统和Windows系统之间的网络是通的,同样需要结束命令时,按下Ctrl+C按键。

显示和配置网络命令 ifconfig

如果想要查看系统的IP地址时,可以直接输入 ifconfig 命令。

可以看到输出的信息有两个网卡,enp0s3 是电脑的物理网卡,用于网络数据的传输。lo为本地的回环接口,通常用于内网进程之间的通信。

enp0s3的IP地址为 192.168.2.149 子网掩码为255.255.255.0 广播地址为 192.168.2.255

IPV6的地址为 fe80::68a2:5d90:271d:ed19  网卡MAC地址为 08:00:27:19:e6:69

Ifconfig还可以关闭 和打开网卡

  • 输入命令 ifconfig 【网卡名】 down 就可以关闭网卡

可以看到输入 ifconfig enp0s3  down 命令后,不允许执行,这是因为当前用户没有权限去关闭网卡,需要用root用户身份去执行这条命令。在命令全面加上sudo 切换到root用户,然后使用!! 代替上次输入的命令。

关闭网卡后,可以在使用ifcong命令查看当前网络信息,可以看到,此时就剩一个本地回环网卡了。

  • 输入命令 ifconfig 【网卡名】 up 就可以打开网卡

输入 ifconfig enp0s3  up 命令后,系统提示不允许操作,需要用root权限去执行。在命令前面加上sudo,使用!!代替ifconfig enp0s3  up命令。开启网卡之后使用ifconfig查看,可以看到网卡已经正常工作了。

Ifcinfig命令也可以直接设置IP地址,比如要修改当前IP地址,就可以直接输入命令

  • Ifcong 【网卡名】 【Ip地址】

这个命名需要使用root身份执行,在命令前加上sudo,将ip地址最后一段由149改为150.

sudo ifconfig enp0s3 192.168.2.150

再次查看网址,可以看到Ip地址已经修改成功了。

Ifconfig命令同样可以修改 MAC地址

  • Ifcong 【网卡名】 hw   ether【MAC地址】

同样需要在命令最前面加上sudo

修改完成之后可以通过ifcong命令查看网卡MAC地址是否修改成功。

软件安装删除命令 apt-get

软件的安装和删除也需要通过命令来完成

  • 安装软件命令 sudo apt-get install 软件包名

输入命令 sudo apt-get install sl 就会安装sl程序,安装完成之后,就可以在终端中输入sl命令了。

输入完sl命令之后,就会发现一辆火车在终端中跑。

  • 卸载软件命令 sudo apt-get remove 软件包名

输入命令 sudo apt-get remove sl 就可以卸载刚才安装的sl软件。

卸载完成之后,在执行sl命令,系统就会提示没有文件或者目录。

更新软件命令 sudo apt-get update

输入命令后,如果软件需要更新,系统就会自动更新软件,如果不需要更新,就不执行任何动作。

  • 使用apt命令替代

在老的版本中使用apt-get命令,在新的linux版本中可以使用apt命令直接代替apt-get命令。所以上面的命令可以直接写成

sudo apt install sl  安装sl软件,sudo apt remove sl  卸载sl软件。

Linux学习笔记---常用shell命令相关推荐

  1. 史上最牛最强的linux学习笔记 10.shell基础

    史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...

  2. 【Linux学习笔记④】——Shell程序设计【变量 输入与输出 条件表达式 判断语句 循环语句 Shell函数】

    ⌛️ 文章目录 一.Shell 概述 二.Shell 脚本的定义与执行 2.1 Shell 脚本的定义 2.2 Shell 脚本的执行 三.Shell 变量 3.1 用户自定义变量 3.2 环境变量 ...

  3. Linux学习笔记---使用tftp命令下载文件

    向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...

  4. Linux学习笔记二Shell教程

    Shell 教程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个 ...

  5. linux学习笔记2——ls命令说明

    ls是list的简写,功能是列出目录的内容,类似于DOS下的dir命令.这篇学习笔记主要介绍ls命令相关知识. 一.Linux下文件目录的特点 蓝色字体代表文件夹,白色字体代表文件 1.Linux文件 ...

  6. Linux系统笔记:shell命令、文件系统、Vi编辑器、文件IO、mmap()、bmp图片格式、线程

    文章目录 一.shell命令集 二.ubuntu文件系统 三.vi编辑器 四.文件IO 五.Linux中C库mmap()函数详解 六.bmp图片格式详解 七.C语言笔记 (一)标准IO函数 time( ...

  7. Linux学习笔记003----linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  8. linux学习笔记:yum命令的常见用法

    要知道,不同的linux系统里软件包的命令可能是不同的. yum命令是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 例如: yum install -y net-too ...

  9. Linux中的常用shell命令(一)

    1.查看文件和目录 ls #ls -l 以长格式显示 drwxr-xr-x. 2 root root 6 3月 26 2015 rh 第一个字符 :文件类型. -普通文件 d 目录 s 套接字文件 l ...

最新文章

  1. mysql 8+ 忘记root密码 解决方案
  2. dos命令添加war包
  3. 解决pycharm新建项目后按钮灰色问题
  4. MySQL通讯协议研究3(Text模式查询)
  5. BugKuCTF 杂项 多种方法解决
  6. java switch 例子_javase switch例子
  7. UITableview高度计算
  8. mybatis-01
  9. bzoj1967 [AHOI2005]穿越磁场 离散最短路
  10. webrtc 判断是否支持_5G时代-WebRTC音视频高级开发
  11. Vue-CLI搭建Vue项目
  12. android studio 继承关系 快捷键,Android Studio快捷键
  13. 光影之路 GPU架构发展史(3/4)
  14. 展讯SC9820E驱动配置之camera配置
  15. SAP中质检检验计划导出实例
  16. 像素密度(衡量屏幕显示能力)
  17. 破解第三课 关键跳和关键CALL
  18. 键盘属于计算机主机吗,这是键盘?不,这是一台电脑主机
  19. android的边框设置
  20. 【Pytorch Lighting】第 5 章:时间序列模型

热门文章

  1. Python hashlib、hmac模块
  2. iphone 随机颜色生成
  3. 配置Setting.xml文件提高maven更新下载jar包速度
  4. 【Java多线程系列七】ExecutorService
  5. eclipse 报错问题:java.lang.ClassNotFoundException:
  6. 13. Roman to Integer
  7. python自动化_day4_迭代器生成器内置函数和匿名函数
  8. 第一个hadoop 程序
  9. oracle ebs应用产品安全性-交叉验证规则
  10. 如何写博客(网摘)第一步:我是谁?