一、Linux的系统命令结构
1、根命令:/
2、/bin:这个目录存放着最经常使用的命令
3、/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
4、/dev:dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
5、/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
6、/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
7、/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
8、/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
9、/media:Linux系统会自动识别一些设备,例如优盘,光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
10、/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
11、/opt:这是给主机额外安装软件所摆放的目录,比如你安装一个ORACLE数据库则就可以放在这个目录下,默认是空的。
12、/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统消息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
13、/root:该目录为系统管理员,也称作超级权限者的用户主目录。
14、/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
15、/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
16、/srv:该目录存放一些服务启动之后需要提取的数据。
17、/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。
18、/tmp:这个目录是用来存放一些临时文件的。
19、/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
20、/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
1、/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
2、/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
3、/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
二:用户目录
1、绝对路径:从根目录开始写 /home/itcast/aa
2、相对路径:假设我当前就在/home/itcast/aa这个路径里面,需要访问bb文件,bb 相对于当前的工作目录而言
. 表示当前目录
.. 表示当前的上一级目录
- 表示在邻近的两个目录直接切换 cd-
3、itcast@ubuntu:~$
其中itcast:当前登录用户
@:在
ubuntu:主机名
~:用户的家目录(宿主目录) 例如是 /home/itcast
$:表示当前用户为普通用户
#:超级用户即root 进入root的方式 输入命令 sudo su 退出超级用户的方法 输入命令 exit
三、目录或文件颜色一般情况
四、文件详细信息的分析
1、当输入以下命令时出现详细的目录信息 ls -l
当输入以下命令时出现包括隐藏的目录信息 ls -a
当输入以下命令时出现包括隐藏的目录的详细信息 ls -la 或 ls -al
2、r w x表示不同的组拥有的权限,其中r表示read w表示write x表示执行 -表示没有这个权限
3、当第一个字符是d,即文件类型为目录时,所占用的内存空间均为4096 无论有没有文件。这一点与普通文件(即第一个字符是-)不同。
五、目录的进入与返回
1、目录的进入
cd 目录名(或者绝对路径)
2、目录的退出
方一:cd /home/目录名
方二:cd ~
方三:cd
3、当前目录的查看
pwd
六、文件和目录的创建和删除
1、目录的创建
(1)创建单个目录 :
mkdir 目录名
(2)创建复合目录 :
mkdir -p 目录名/目录名1/目录名2
2、目录的删除
(1) 删除空目录:
rmdir 目录名
(2) 删除非空目录:
rm -r 目录名 (其中-r表示递归,也就是递归删除)
安全做法:rm -ri 目录名 (这样就会递归的一级级询问是否删除)
3、文件的创建 前提:先去到那个存放文件的目录下,即 cd 目录名
(1)创建不存在的文件
touch 文件名
(2)如果文件已存在,则
touch 文件名 会修改文件的时间
4、文件的删除 前提:先去到那个存放文件的目录下,即 cd 目录名
rm 文件名
安全做法:rm -i 文件名 (这样就会询问是否删除)
5、查看文件里的内容,用
cat 文件名
七、文件和目录的拷贝
1、拷贝文件 前提:先去到那个存放文件的目录下,即 cd 目录名
cp 文件名 另一个文件名
2、拷贝目录
cp -r 文件名 另一个文件名
八、查看文件内容的几种方式
1、cat 文件名
适用于文件内容比较少的情况
2、more 文件名
然后按回车键可以一行一行的显示;按空格键可以一页一页的显示。
缺陷:只能往后翻,没法往前翻
退出文件查看的方式 : 按“Q”键 或 按“ctrl+c”键
3、less 文件名
然后按回车键可以一行一行的显示(或者按Ctrl+n);按空格键可以一页一页的显示(或者用Ctrl+f)。
一行一行往回看可以用ctrl+p;一页一页往回看可以用ctrl+b;
4、head 文件名
默认显示文件的前十行
head -数字 文件名:即显示前几行
5、tail 文件名
默认显示文件的后十行
tail -数字 文件名:即显示后几行
九、文件的重命名
mv 旧的文件名 新的文件名
十、移动文件
mv 文件名 存在的目录名
十一、给文件创建快捷方式即创建软链接
ln -s 文件名 创建的快捷方式的名字
这里的文件名要用绝对路径,这样就可以在整个Linux里使用。
十二、给目录创建软链接,方法同上
十三、给文件创建硬链接(相当于给原来的文件的备份)
ln 文件名 新的文件名
硬链接并不占用磁盘空间,只是映射。
目录不能创建硬链接
十四、文件或目录属性
1、wc 可以获取文本文件的信息,如:行数、字数、字节数、文件的名字 : wc 文件名
2、od 获取二进制文件的信息,(绿色的可执行文件就是二进制文件): od -tc 文件名
其中 -tx表示以什么样的格式展示文件
3、du 查看当前目录的大小 : du -h
4、df 磁盘的使用情况 : df -h
十五、which
which 命令 :查看命令所在的目录
十六、查看和修改文件权限
1、查看当前的登录目录 whoami
2、修改文件权限
(1)文字设定法:chmod [who] [+|-|=] [mode]
其中who:
文件所有者:u
文件所属组:g
其他人: o
所有的人: a
+: 添加权限
-:减少权限
=:覆盖原来的权限
mode:
r: 读
w: 写
x: 执行
例如:chmod a+w 文件名 表示 对于这个文件给所有人添加一个写权限
(2)数字设定法
- : 没有权限
r: 4
w: 2
x: 1
765
7 -- rwx -- 文件所有者
6 -- rw -- 文件所属组
5 -- rx -- 其他人
例如:chmod 777 文件名 表示 对于这个文件给所有人都是满权限
在数字表示法里使用减操作来改变权限 chmod -001 文件名 (就变成啦776权限)
3、改变文件或目录的所有者或所属组:
(1)改变文件的所有者
sudo chown 文件新的所有者 文件名
(2)改变文件的所有者及所属组
sudo chown 文件新的所有者:文件新的所属组 文件名
4、只是改变文件或目录所属的组:
sudo chgrp 文件新的所属组 文件名
十七、文件的查找和检索
1、 按文件属性查找:
(1)文件名:find 查找的目录 -name “文件的名字”
注:这里文件的名字想不全的话也可以用通配符* ,它可以通配多个字符,例如:“hello.c” 想不全的时候可以写成“hel*” 这样就会找到所有的以hel开头的文件。还有通配符?,但它只能通配一个符号,例如,“hello”可以写成“hell?”
(2)文件大小: find 查找目录 -size +10k (+10k表示文件大小,大于10k)文件大小小于10k的用 -10k
(3)文件类型: find 查找目录 -type d/f/b/c/s/p/l (其中f表示普通文件)
2、按文件内容查找:
grep -r "查找的内容" 查找的路径 (-r表示递归查找)
当文件一直突突突加载出现的时候,可以用快捷键ctrl+c停止加载。也就是说ctrl+c是退出文件