Linux基础命令

在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:无法打开目录'.':权限不够

虽然今天的学习难度不是很大,但是量还是挺大的并且知识点比较琐碎,所以自己要私底下注意记忆和复习,好的开头就成功了一半,这种学习热情要保持下去,加油!!!

你可能感兴趣的:(Linux基础命令)