在Linux系统中,以“.”开头的文件,表明该文件是隐藏文件。下面主要介绍一下ls指令的用法以及tree指令的用法:
1 , ls : ls命令用来显示目标列表;
ls -a :显示所有档案及目录,包括以“.”开始的项;
ls -l :以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
ls - al:该指令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占1 位,表示文件类型,第二段占3位,表示文件所有者对该文件的权限;
ls - ld:查看当前目录的详细信息,只是目录,不包括目录下的子目录和文件。
tree:tree命令可以以树形结构显示文件目录结构,它非常适合于我们给别人介绍我们的文件目录的组成框架,同时该命令使用适当的参数也可以将命令结果输出到文本文件中。
2 , tree + 路径 :列显文件结构。
路径分为绝对路径和相对路径。绝对路径是以根目录(/)为起点的路径,例如:/home/dyf/Document/sysnet,相对路径是以当前路径或这家目录为基础的路径。例如:.1> /Document/sysnet 2> ../Company_pro
cd : 进入用户主目录
cd [路径] :工作目录的切换,可以在目录间任意跳转
若没有路径,则跳转到家目录下跳转到家目录;
cd ~ :进入用户在该系统的home目录;
回到上层目录 : cd ../ 或者cd .. ;
若所在目录层数较多,可连用../,即:cd ../../../../ 到任何一层目录,都可以从根目录开始,即该目录的绝对路径
或者从家目录下开始找到此目录的路径;
跳转到上层目录的某个目录:cd ../目录名 ;
回到上一次工作的目录:cd -
创建目录:mkdir
mkdir + [选项] + 目录名 // 释义:创建目录(目录名可以包含路径)
创建多个目录,注意个目录间的空格 :mkdir目录名1目录名2目录名3
mkdir + -p :多级路径
mkdir -p a/b/c/d : //释义:递归创建每一级目录,目录间无空格
3 , 删除目录rmdir
rmdir + 目录列表,目录间要用空格隔开:删除目标目录
rmdir 只能删除空目录,若目录非空,则报错,不能删除
rmdir -p + 多级空目录列表:递归的删除空目录,由于其他原因,可能会部分保留。例如:rmdir -p a/b/c/d
4 , 删除rm
rm [选项]文件名
1)rm普通文件名//删除普通文件
选项:
-r,-i,-f
注意:
此方法不可逆!!!没了就是没了,不可恢复!!!
2)rm -r目录名
删除目录,不管目录是否为空,均可删除
3)rm -i普通文件名
与用户进行交互,进行删除操作时,给出提醒!!!
4)rm -ir目录文件
会进入目录中,并提示是否删除目录中的文件,
y:删除,n:不删除
删除目录时,先递归的删除目录中的文件,然后在删除目录自身!
5)rm -f文件名
强制删除文件,不给出任何提示。慎重使用!!!
6)*:通配符
如果要删除大量文件名类似的文件,可用通配符删除。
例如:
test/tesr/testt/
rm -r tes*/
1rew/2rew/ 3rew 245rew/
rm -r *rew/
1.txt2.txt3.txt
rm *.txt
7)rm选项可以连用:
rm -ir filename
rm -rf filename
rm -irf filename
注意:选项的顺序不影响执行结果!!!
5.创建普通文件:touch
1).创建不存在的普通文件
touchfilename
file:
.txt.doc.datfilename
.c.h.cpp.hpp
2).若文件已存在,则更新时间戳
3).创建多个文件
touch 1.doc 2.doc 3.txt
touch {1..10}.doc
touch te{1..10}st
touch {1..10}he.doc
touch {A..Z}.c
touch {a..z}.h
注意:{}中是两个点!!!
6.移动:mv
mv [选项]源文件目的文件
1).mv *.txt **.txt
原地移动,若目的文件不存在,文件重命名
用gedit编辑文件产生的备份文件即filename~,可用mv
命令进行恢复
若目的文件已存在,则覆盖其中的内容!!!
2).mv *.txt /路径/
跨目录移动,将文件移动到目的目录中
mv *.txt /路径/filename
跨目录移动并且重,命名
3).mv /路径/filename/路径/filename
~/文档:相对路径,家目录下的文档
/home/llj/文档:绝对路径
二者的路径是同一个目录!!!
4).mv源目录文件目的目录文件
若目的目录文件不存在,则移动重命名
若目的目录已存在,则将源目录整体移动到目的目录中!
5).选项:
-i:提示是否覆盖同名目录
-f:强制,一般针对于普通文件,只有目录相同时,-f才有效
7.复制:cp
cp [选项]源文件目的文件
1)cp filename1 filename2
完成对filename1的拷贝,此时源文件仍然存在
2)cp filename1 /路径/
复制文件到制定路径,源文件保留。
3)cp filename1 /路径/filename2
复制文件到指定路径,并且重新命名。
4)cp /路径/filename1
/路径/filename2
复制指定路径下的文件到另一个指定路径,并重命名。
注意:只要指定路径下的文件存在,且目的路径也存在,
均可完成复制,对文件内容进行复制。
5)cp -r源目录名 目的目录名
目的目录存在时,直接将源目录复制到目的目录下,
作为目的目录的一个子目录,并且完成源目录中内容的拷贝
目的目录不存在时,完成源目录的复制并且重新命名为目的
目录名
6)cp -r /路径//路径/
7)cp -i filename1 filename2
与用户进行交互,若filename2存在,则提示时候覆盖,
若不存在,则直接复制
cp -i /路径/filename1 /路径/filename2
8)cp -ir源目录 目的目录
若目的目录中不存在同名目录,则复制并重新命名,
若目的目录中已存在同名目录,则将两个目录合并,
相同内容提示是否覆盖,不相同内容则直接复制。
9)目录到目录自身
目录中内容可以复制,但目录本身不能复制到自身
cp -ir /路径/源目录/路径/
llj@ubuntu:~/hello$ ls
123.txt234.hpp456.txteee下载
llj@ubuntu:~/hello$ cp -ir eee/ ./eee/
cp:无法将目录'eee/'复制到自己'./eee/eee'
即先将源目录eee/复制到目的目录./eee/中,作为./eee/
目录的一个子目录,然后复制源目录eee/自身的信息到
./eee/此操作非法,不能将目录自身复制到自身。
复制:若复制文件则直接复制到指定位置,若复制目录,则
先递归复制目录里面的内容,然后复制目录自身
8.工作路径的确定
1)用户登录时默认工作路径:
llj@ubuntu:~$
当前登录用户名@主机名:宿主目录(家目录)$
$:普通用户命令提示符
:与$之间是当前用户的默认工作目录
2)llj@ubuntu:~/Document/sysNet/day01$
用户当前工作路径
即:可以根据":"和"$"之间的路径来确定用户的当前工作路径
此路径为相对路径,路径的切换使用cd命令!
3)pwd
/home/llj
/home/llj/Document/sysNet/day01
得到的是绝对路径
9.cat,more,less,info,man,help
1)cat查看文件内容
全屏一次列显。
cat file1 file2 ...
查看多个文件内容
cat -n file
cat -n file1 file2 ...
列显文件内容的同时,匹配行号
cat -b file
cat -b file1 file2 ...
略过空行不进行编号,
cat /proc/cpuinfo//查看电脑基本信息
2)more file
分屏查看文件内容, 按空格键查看下一页,回车逐行查看
q退出
3)less file
分屏查看文件内容
空格键,上下键,pagedown,pageup,回车键均可
查看文件内容,按页或按行查看
退出,在左下角的:之后输入q回车即可
man,help,info:查看帮助信息
4)help
ls --help
5)man
帮助手册,查看命令或函数
man ls
man mv
man命令
6)info
info ls
10.head、tail
head file:查看文件的前10行
tail file:查看文件的尾10行
注意:head和tail默认是10行!
选项:
-n显示的行数
head -n file:查看文件的前n行
tial -n file:查看文件的后n行
12.sudo、su
1)sudo临时提权
即临时赋予用户超级用户的权限。此操作需要输入用户密码
命令行安装软件,对部分文件的删除操作,以及更改
文件权限等等
2)普通用户---->超级用户
(1)su - root
建议使用"-",把超级用户的工作环境和目录都切换,
防止因环境变量问题不能够正常使用
(2)密码问题不能切换到超级用户:
执行:sudo
passwd然后按提示操作
llj@ubuntu:~$ su - root
密码:
root@ubuntu:~#
(3)
$:普通用户提示符
#:超级用户提示符
超级用户下,所有的操作均不需要输入密码!!!
3)超级用户----->普通用户
(1)ctrl d:
root@ubuntu:~#注销
llj@ubuntu:~$
(2)exit
root@ubuntu:~# exit
注销
llj@ubuntu:~$
(3)关闭终端,重新打开
(4)su -用户名
root@ubuntu:~# su - llj
llj@ubuntu:~$
13.文件的权限问题
(1)ls -l文件名:查看文件详细信息
llj@ubuntu:~/hello$ ls -l 123.txt
-rw-r--r-- 1 llj llj 16974 12月7 13:38 123.txt
-rw-r--r--
文件属性文件拥有者权限 所属组权限其他用户权限
文件拥有者:u
所属组:g
其他用户:o
所有用户:a
(2)完整的权限表述形式:
rwxrwxrwx
r:可读权限
w:可写权限
x:可执行权限
(3)若对应位为"-",则表示无此权限
例:
rw-:无可执行权限
r--:只有可读权限
---:无任何权限
(4)修改文件权限
chmod权限文件
权限:
权限标识符:r,w,x,-
八进制权限:0,1,2,3,4,5,6,7
(5)标识符修改权限
增加权限:+
example:
给拥有者增加可写权限:u+w
给其他用户增加可写可执行权限:o+wx
取消权限:-
example:
给用户组取消可写权限:g-w
给其他用户取消所有权限:o-rwx
例1:给其他用户增加可执行权限
llj@ubuntu:~/hello$ chmod o+x 123.txt
llj@ubuntu:~/hello$ ls -l 123.txt
-rw-r--r-x 1 llj llj 16974 12月7 13:38 123.txt
例2:给所属组增加可执行权限
lj@ubuntu:~/hello$ sudo chmod g+wx123.txt
[sudo] llj的密码:
llj@ubuntu:~/hello$ ls -l 123.txt
-rw-rwxr-x 1 llj llj 16974 12月7 13:38 123.txt
例3:减去可执行权限
llj@ubuntu:~/hello$ sudo chmod a-x123.txt
llj@ubuntu:~/hello$ ls -l 123.txt
-rw-rw-r-- 1 llj llj 16974 12月7 13:38 123.txt
(6)八进制修改权限
- rwx --- ---
对应为如果有权限则表示为1,无权限则表示为0
二进制八进制权限
0000无权限
0011可执行权限
0102可写权限
0113可写可执行权限
1004可读权限
1015可读可执行权限
1106可读可写权限
1117可读可写可执行权限
llj@ubuntu:~/hello$ ls -l 456.txt
-rw-r--r-- 1 llj llj 16974 10月24 10:11 456.txt
例1:给其他用户增加可执行权限
llj@ubuntu:~/hello$ sudo chmod 645456.txt
llj@ubuntu:~/hello$ ls -l 456.txt
-rw-r--r-x 1 llj llj 16974 10月24 10:11 456.txt
例2:给所有用户增加可执行权限
llj@ubuntu:~/hello$ sudo chmod 755456.txt q
chmod:无法访问'q':没有那个文件或目录
llj@ubuntu:~/hello$ ls -l 456.txt
-rwxr-xr-x 1 llj llj 16974 10月24 10:11 456.txt
例3:所有用户只有可读权限
llj@ubuntu:~/hello$ sudo chmod 444456.txt
llj@ubuntu:~/hello$ ls -l 456.txt
-r--r--r-- 1 llj llj 16974 10月24 10:11 456.txt
例4:把目录eee/的可读权限全部取消
drwxrwxr-x 3 llj llj 4096 12月7 15:00 eee/
llj@ubuntu:~/hello$ sudo chmod 331eee/
llj@ubuntu:~/hello$ ls -ld eee/
d-wx-wx--x 3 llj llj 4096 12月7 15:00 eee/
llj@ubuntu:~/hello$ cd eee/
llj@ubuntu:~/hello/eee$ ls
ls:无法打开目录'.':权限不够
虽然今天的学习难度不是很大,但是量还是挺大的并且知识点比较琐碎,所以自己要私底下注意记忆和复习,好的开头就成功了一半,这种学习热情要保持下去,加油!!!