在接触的过程中大部分是剪裁内核、驱动开发与嵌入式应用软件开发等,其中涉及到目录的创建于删除,文件的创建于删除,文件权限的更改。如果熟知一些快捷输入就会锦上添花。linux与windows操作系统最大的不同就是可以通过terminal实现所有通过图形界面操作的目标。那么熟知一下linux基本的操作命令将会加快熟悉linux的熟知过程。
下面介绍一些基本的操作概念与命令(这里只介绍一些基本的命令,命令中的选项可以根据自己的需求在terminal中输入man 命令或者命令 --help查找)。
绝对路径:从根目录找下去,一级一级找下去就是绝对路径。
相对路径:一般有.和..构成 . 表示当前目录,..表示上级目录。
例如:当前目录为/bin pwd,则会打印出/bin 目录名字
如果 /bin$ ./pwd 就会打印出/bin (当前目录)
如果 /bin$ ../pwd 就会打印出/ (上级目录)
pwd :显示当前所在的目录。
ls :显示当前所在目录下的文件。
cd :切换路径。
cd ~ 返回当前用户的根目录 home/book (~:为了简化输入,代表用户的根目录)
cd . 切换到当前路径(很少使用)
cd ..返回当前路径的上一级路径。
cd ../.. 表示切换到上上级目录(在linux中, 路径分隔符是/斜杠,而在windows中是\反斜杠)
注意事项:(
1.切换的路径必须保证存在。
2.ls可以查看当前目录下的文件
3.多使用Tab键,Tab键是在当前输入的字符中自动查找或者补齐当前目录下的文件或者目录。当有唯一符合当前已经输入字符的文件或者目录
时自动补齐,当有多个文件或者目录符合当前字符输入时,会列出所有的文件或者目录。
这样可以减少输入量。
cd - 表示终端中定位的上一次的路径;
)
====================================================
目录的操作
mkdir :新建目录。(目录就是文件夹的意思)。
mkdir -p 多级目录
-p :连续创建多级目录
rmdir :删除目录。
rmdir 目录名
注意:rmdir不能删除非空目录,就是该目录下面还有子目录和文件
=============================================================================================
ls表示列出当前目录下的文件或者目录
ls [选项] [参数]//选项、参数可有可无
用法
1. ls 列出当前文件或者目录名称,
2. ls 目录 列出该目录下的文件或者目录
常用选项:
1. -l (long的缩写) 显示文件的详细信息(文件权限,文件大小,文件最后修改时间,文件名称)
2. -a (all的缩写) 显示隐藏文件
3. -h (human-able的缩写) 文件大小以Kb,Mb,Gb显示
这些可以组合使用 -lah
=============================================================================================
文件的操作
touch :新建文件。
用法:
touch 文件名 后缀可要可不要。//在当前目录新建一个文件名的文件
同一个目录中无法创建同名的文件,即无法修改已经存在的文件内容
mv 修改文件(路径)名,移动路径
格式:
mv 旧文件名 新文件名 -------> 修改当前目录下的文件名
mv 旧目录名 新目录名 -------> 修改当前路径下里面的目录名
mv 文件名 目录名 -------> 移动路径
cp :复制文件或者复制目录。
格式:
1、cp 源文件名 目标文件名 -----复制源文件名里面的内容到目标文件,目标文件可以不存在
2、cp 源文件名 目标目录名 -----将源文件名拷贝到目标木目录下。
3、cp 源目录名 目标目录名 ------将源目录拷贝到目标目录
cp -r 源目录名 目标目录名 -r表示递归复制,将源目录下的所有文件都复制到目标目录中。
-i 表示当复制的文件名在目标目录有重名时,选择提示信息是否复制。
rm :删除文件或者目录。
remove 的缩写
rm [选项] [文件名|目录名]
-i(interactive交互的缩写),删除文件(目录)之前,要求你确认是否同意删除。
-r(recursive递归的缩写)递归删除指定目录下的子目录和文件
-f(force强制的缩写)强制删除
这些可以组合使用 -irf
注意:在删除文件之前一定要提示自己,这个文件是不是可以被删除。重要
/**************************************************/
文件的编辑
cat :查看文件的内容,即把文件的内容显示到终端。
cat 文件名1
cat 文件1 文件2 ------------这两个文件的内容一次打印,重新起一行打印第二个文件
cat -n 文件1 ------文件1中的内容前面会显示行号。
文件的编辑
1、gedit 是一个linux图形界面的编辑器。
2、vi编辑器,非常重要,后面会详细讲解。
**************************
终端里面显示的内容较多。
clear :只是刷新terminal里面的内容,向下翻一页,用滚轮向上滚的时候,可以看到之前的记录。
reset :不存在之前的记录,初始化终端。
/**************************************************/
查看命令的方式
1、man 提供命令、API、概念、配置文件等帮助信息-----使用的较多
里面的信息分类齐全,格式整齐
2、info 和man有很多交集,是更完整的显示GUN工具
信息杂乱,都写在一起
3、--help 提供命令帮助信息
文件的权限概念:linux是多用户操作的内核系统,也就是多任务多用户环境,可以同时为多个用户提供访问、文件权限的概念是为了保证数据的私有特性而设计的。linux操作系统一般将访问的用户身份定义为:owner、group、others。每一种身份的用户都有各自的文件操作权限为:read、write、execute。
linux中每一个文件都有对应三个身份的操作权限,如下图所示为文件的属性。
图中红笔圈中的为文件的属性信息。属性信息总共有十位,从左到右,第一位是文件的类型信息,后面的每三位组合代表对应身份的操作权限,为owner、group和others。
第一个字符代表这个文件是“目录、文件或链接文件等等”:
当为[ d ]则是目录,例如上表文件名为“.config”的那一行;
当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
若是[ l ]则表示为链接文件(link file);
若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。
文件身份与权限的更改
文件身份的更改,必须建立在linux中存在的group和user,否则会报错。
命令为:
chgrp :改变文件所属群组
chgrp 目标group 文件
chown :改变文件拥有者
chown 目标owner 文件
操作权限的改变
chmod 命令,有两种改变操作权限的方式:数字类型和字符类型
数字类型改变权限:r=4,w=2,x=1;每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权
限为: [-rwxrwx---] 分数则是:> owner = rwx = 4+2+1 = 7 > group = rwx = 4+2+1 = 7 > others= --- = 0+0+0 = 0
所以等一下我们设置权限的变更时,该文件的权限数字就是770啦!变更权限的指令
chmod的语法是这样的:
chmod 777 源文件或者目录
符号类型修改权限:基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以借由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x。chmod u g o a | ([+加入或者] [-除去])=(设置) | r w x | 文件或目录.假如我们要“设置”一个文件的权限成为“-rwxr-xr-x”时,基本上就是:
user (u):具有可读、可写、可执行的权限;
group 与 others (g/o):具有可读与执行的权限。 所以就是:
chmod u=rwx,go=rx .bashrc
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空白字符!知道 +, -, = 的不同点了吗?对啦! + 与 – 的状态下,只要是没有指定到的项目,则该权
限“不会被变动”, 例如上面的例子中,由于仅以 – 拿掉 x 则其他两个保持当时的值不
变!多多实作一下,你就会知道如何改变权限啰! 这在某些情况下面很好用的~举例来
说,你想要教一个朋友如何让一个程序可以拥有执行的权限, 但你又不知道该文件原本
的权限为何,此时,利用“chmod a+x filename” ,就可以让该程序拥有执行的权限了。