Linux
Linux
Linux 系统目录结构
登录系统后,在当前命令窗口下输入命令:
ls /
你会看到如下图所示:
树状目录结构:
以下是对这些目录的解释:
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv: 该目录存放一些服务启动之后需要提取的数据。
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
常用命令/操作
命令 | 描述 | 示例用法 |
---|---|---|
ls | 列出目录内容 | ls -l (长格式列出),ls -ld 目录 显示文件信息(包括权限) |
cd | 切换目录 | cd /home/user (切换到/home/user目录) |
pwd | 显示当前工作目录 | pwd |
cp | 复制文件或目录 | cp source.txt destination.txt (复制文件) |
mv | 移动或重命名文件或目录 | mv oldname.txt newname.txt (重命名文件) |
rm | 删除文件或目录 | rm -r directory (递归删除目录) |
mkdir | 创建目录 | mkdir newdir (创建新目录) |
rmdir | 删除空目录 | rmdir emptydir (删除空目录) |
touch | 创建空文件或更新文件时间戳 | touch newfile.txt (创建新文件) |
cat | 显示文件内容 | cat file.txt |
echo | 输出文本或变量值 | echo "Hello, World!" |
grep | 在文件中搜索指定模式 | grep "pattern" file.txt |
find | 在目录树中查找文件 | find /home -name "*.txt" (在/home中查找所有.txt文件) |
chmod | 改变文件或目录的权限 | chmod 755 file.txt (设置文件权限为755) |
chown | 改变文件或目录的所有者和所属组 | chown user:group file.txt (更改文件的所有者和所属组) |
df | 显示磁盘空间使用情况 | df -h (以人类可读的格式显示) |
du | 显示目录或文件的磁盘使用情况 | du -sh directory (显示目录的总磁盘使用情况) |
ps | 显示进程状态 | ps -ef (显示所有进程信息) |
kill | 终止进程 | kill PID (终止指定PID的进程) |
top | 显示系统进程和状态 | top |
ifconfig | 显示或配置网络接口信息 | ifconfig eth0 (显示eth0接口信息) |
netstat | 显示网络连接、路由表、接口统计等信息 | netstat -tuln (显示TCP/UDP监听端口) |
ping | 测试网络连接 | ping google.com (测试到google.com的连接) |
ssh | 安全地远程登录到其他计算机 | ssh user@remotehost (远程登录到remotehost) |
scp | 跨主机安全地复制文件 | scp source.txt user@remotehost:/path/to/destination (复制文件到远程主机) |
tar | 打包或解包文件 | tar -czvf archive.tar.gz directory (打包目录为tar.gz文件) |
gzip /gunzip | 压缩或解压缩文件 | gzip file.txt (压缩文件) |
查看和编辑文件
查看文件内容:
使用cat
命令
cat
命令用于连接并显示文件的内容。
cat filename
这里,filename
是你要查看的文件的名称。使用cat
命令,文件的内容会被一次性输出到终端。
修改文件内容:
Linux中有多种文本编辑器可以用来修改文件内容,例如vim
、nano
、emacs
等。这些编辑器提供了更丰富的文本编辑功能。
以vim
为例:
vim filename
进入vim
编辑器后,你可以使用各种命令来编辑文件内容。
编辑文件:按下 insert
键就可以在编辑器中编辑内容;
保存并退出:按下Esc
键,然后输入:wq
并按Enter
键。不保存并退出时,输入:q!
并按Enter
键。
查看和修改文件权限
查看文件权限
在Linux中,你可以使用ls
命令来查看文件或目录的权限。特别是,结合-l
选项(长格式列表),你可以看到详细的权限信息。
命令:
ls -l filename
或者简写为:
ll filename
步骤:
- 打开终端。
- 导航到包含你要查看权限的文件的目录。
- 运行
ls -l filename
或ll filename
命令,其中filename
是你要查看的文件名。
输出中的第一个字符表示文件类型(例如,-
表示普通文件,d
表示目录),接下来的九个字符表示文件权限,分为三组,每组三个字符。每组中的字符r
、w
和x
分别代表读取、写入和执行权限。
修改文件权限
在Linux中,你可以使用chmod
命令来修改文件或目录的权限。
命令:
使用符号表示法:
chmod [options] mode filename
其中,
options
可以是u
(用户)、g
(组)或o
(其他),mode
可以是+
(添加权限)、-
(删除权限)或=
(设置权限),然后是r
、w
或x
来表示权限。使用数字表示法:
chmod [mode] filename
其中,
mode
是三个数字的组合,每个数字代表一个权限组的权限(所有者、组、其他)。
步骤:
打开终端。
导航到包含你要修改权限的文件的目录。
使用
chmod
命令修改权限。例如,要为文件的所有者添加执行权限,可以运行:chmod u+x filename
或者,要设置文件权限为所有者有读写执行权限,组有读执行权限,其他用户只有读权限,可以运行:
chmod 755 filename
请注意,修改文件权限通常需要特定的权限。只有文件的所有者或具有superuser(如root)权限的用户才能修改文件的权限。
在修改文件权限时,请确保你了解每个权限的含义,并谨慎操作,以避免不必要的权限泄露或系统不稳定。如果不确定,可以先查看当前权限,然后根据需要逐步修改。