/*声明:本篇开始的Linux系列笔记学习自《朱老师物联网大讲堂》*/
从今天开始将会陆续更新一些有关Linux的笔记,从arm裸机到uboot的移植、Linux应用编程和网络编程再到Linux驱动开发。同时也会夹杂更新stm32对一些小模块的驱动开发,比如WiFi、蓝牙模块等等。敬请期待!
今天我们要说的是Linux里面的常用命令,掌握这些常用命令才能够在Linux系统中进行一些基本操作。
介绍命令之前,先说一下实验平台。我们选择在Windows系统中安装VMware虚拟机,然后在虚拟机当中安装Ubuntu系统。Linux有命令行模式和GUI模式,要想进入命令行模式,右键进入终端即可。
一、常用指令
1、ls命令
在讲ls命令之前,先要了解几个概念。
隐藏文件和非隐藏文件:在Windows中,可以通过属性设置让文件隐藏,那么在Linux中,隐藏文件是以.开头的文件。
相对路径和绝对路径:相对路径就算从当前路径出发,到达某个地方。而绝对路径是从根目录出发,到达某个地方,在Linux中根目录是一个/,所以以/开头的就是绝对路径。
(1)ls(list,列表)
作用:使用列表把当前文件夹下所有文件显示出来
ls -a显示所有文件,包括隐藏文件
ls -l以详细信息显示
ls -a -l
ls -l -a
ls -la
ls -al四种方式都是可以的
直接使用ls就是把当前文件夹下的文件显示出来,但是不包括隐藏文件,显示隐藏文件需要在后面加上 –a,而如果需要看到详细信息需要加上 –l
在显示的详细信息里面我们可以看到,前面有10个字符,这10个字符是有含义的。第一个字符表示文件类型:
- 表示普通文件。普通文件指文本文件和二进制
文件,如a.c 1.txt a.out都是普通文件
d 表示文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件 pipe
后面的9个字符则表示文件的属性,每三个是一组。第一组表示文件的属主所拥有的权限,第二组代表属主所在的组拥有的权限,第三组表示其他组所拥有的权限。(Linux是多用户系统,很多系统都是多用户的,Windows也是)
其中,r代表可读,w代表可写,x代表可执行,-代表都不行。
所以通过这个可以知道文件的属性或者说权限怎么样。
(2) cd(change directory,更改目录)
作用:用来切换目录
涉及到相对路径和绝对路径
cd ..代表上一层目录
.代表当前目录
cd 用来跳转到你需要去的地方。比如cd /abc/def/
(3) pwd(print work directory,打印工作目录)
作用:打印出当前的绝对路径
(4) mkdir(make directory,创建文件夹)
作用:创建空文件夹
mkdir -p 级联创建文件夹
(5) mv(move,移动)
作用:在目录间移动文件,重命名文件
mv 源文件pathname 目的文件pathname
(6) touch
作用:创建空文件
touch pathname
(7) cp(copy,复制)
作用:复制文件或文件夹
cp 源文件pathname 目标文件pathname
cp -r 用来复制文件夹
cp -f 强制复制
实际操作时,一般都是cp -f复制文件,
cp -rf复制文件夹
(8) rm(remove,去除,删除)
作用:用来删除文件,文件夹
rm 文件pathname
rm -r 文件夹pathname
(9) cat
作用:直接在命令行下显示文件内容
也可以用来向文件输入,暂时不管
(10)rmdir(remove directory,删除文件夹)
作用:删除空文件夹
rmdir和rm -r的区别:rmdir只能删除空文件夹,而rm -r可以删除空文件夹和非空文件夹
(11) ln(link,连接文件)
基础:windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,只不过用户访问快捷方式时,其效果等同于访问指向的文件。
linux中有两种连接文件:
一种叫软连接(符号连接),等同于windows中快捷方式
一种叫硬连接
创建软连接文件: ln -s 源文件名 符号连接文件名
举例:ln -s src.c,linker.c,linker.c就是
src.c的一个符号连接文件
这里要稍微注意一下:这里的源文件名只能是当前文件夹下的,而符号连接名可以在其他目录下。否则会出现错误。
硬连接:ln 源文件名 连接文件名
硬连接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬连接存在,这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。
(12) man
作用:查询man手册,获得帮助信息。这个就和某些软件的help功能一样,用于查询一些指令的用法,或者是API函数,或者是C库函数。
man 1 ls1表示查询的是linux命令
man 2 xxx2表示查询的是linux api
man 3 xxx3表示查询的是C库函数
注意:在man手册中查询时,退出按Q键(Q就是quit的缩写)
(12) apt-get
作用:在ubuntu中用来在线安装、卸载软件的程序
apt-get install vim
apt-get remove vim
注意,安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get,还要注意就是安装或者卸载程序都要在管理员模式(root)下,其他用户可能会没有权限。(关于如何切换用户等内容将在后面说明)