Linux目录结构、常用命令和权限

本文详细介绍Linux系统的目录结构、常用命令、权限管理、用户与组管理,以及如何进行远程登录和文件传输。涵盖从基本操作到高级技巧,适合初学者至进阶用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Linux目录

二、常用命令

2.1. 目录管理

cd 切换目录命令

ls 列出目录和文件命令

pwd 显示当前用户所在的目录命令

mkdir 创建文件目录命令

rmdir 移除目录命令

rm 移除命令

cp 拷贝命令

echo命令

cat 命令

mv 移动/重命名命令

vi命令

Tab按键:补全后面要输入的内容

快捷键:(非编辑模式下)

三、Linux权限

3.1. 添加用户(用户名ha 密码 ha)    

3.2. userdel -r 用户名 ----删除用户

3.3. 增加用户组

3.4. Linux文件权限的描述格式

3.4.1. chgrp 修改文件所属组命令

3.4.2. chown 修改文件所有者命令

3.4.3. chmod设置文件权限命令

四、切换t用户


一、Linux目录

Linux 目录结构是一种树状结构,最顶层是根目录 /。标红的为需要重点了解的:

/binBinary,存放用户级的二进制可执行文件(即最经常使用的命令)。

/sbinSystem binary,存放系统级的二进制可执行文件(即系统管理员经常使用的命令)。

/boot存放系统启动时所需的核心文件,如内核、启动菜单、连接文件以及镜像文件等。

/dev存放Linux系统的外部设备文件,在Linux中访问设备的方式和访问文件的方式相同。

/etc存放所有系统管理所需要的各种配置文件和子目录。比如Java、Tomcat配置文件。

/home普通用户的家目录,每个用户的家目录通常位于此目录下,通常是以用户的账号命名的,例如 /home/username

/root该目录为系统管理员,即超级用户(root)的家目录。

/libLibrary,存放系统和应用程序所需的最基本的动态🔗共享库文件,其作用类似于Windows里的DLL文件。

/lib64存放64位系统和应用程序所需的最基本的动态🔗共享库文件,其作用类似于Windows里的DLL文件。

/mediaLinux系统会自动识别一些设备,如光盘、USB等。当识别后,Linux会把识别的设备挂载到此目录下。

/mntMount,系统提供该目录用于让用户临时挂载文件系统,我们可以将U盘挂在到该目录上,然后进入该目录就可以查看U盘里的内容。

/optOptional,第三方应用程序的安装位置,比如我们自身需要安装一个MySQL就可以安装在这个目录下,该目录默认情况下为空。

/procProcess,这是一个虚拟目录,它是系统内存的映射,存放当前进程和系统信息,可以通过该目录获取进程和系统信息。

/run存放当前运行的系统和服务信息。

/srvService,存放服务启动后需要访问的数据。

/sysSystem,这是Linux2.6内核的一个很大的变化,存放系统硬件信息和状态,该目录下安装了2.6内核中新出现的一个文件系统sysfs。

/tmpTemporary,存放临时文件。

/usrUnix Software Resource,一个非常重要的目录,存放用户级的文件和程序,如 /usr/bin 存放用户二进制文件,/usr/lib 存放共享库等。类似于Windows下的program files目录。

/varVariable,存放经常变化的文件,如日志文件、缓存文件等。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)

/www:存放服务器网站相关的资源,比如网站的项目(宝塔面板)

这是一个简化的Linux目录结构概览,具体目录下的子目录和文件取决于具体的Linux发行版和配置。

二、常用命令

2.1. 目录管理

绝对路径、相对路径

绝对路径的全称:如E:\develop\Java\maven-3.9.0\conf\settings.xml

cd 切换目录命令

cd / 进入根目录

cd .和cd ./ 当前目录

cd .. 进入上一级目录

cd ~ 回到当前的用户目录

ls 列出目录和文件命令

ls:查看当前路径下的文件夹及文件。

ll(即ls -l的简写):列出详细结果,包含有时间,是否可读写等信息。

ls -lh:显示更符合人类查看的方式,显示文件大小。

ls -a:显示隐藏文件。

pwd 显示当前用户所在的目录命令

mkdir 创建文件目录命令

mkdir:创建文件目录。

mkdir -p:级联创建文件目录(如123/123/123)。

rmdir 移除目录命令

rmdir:移除目录

rmdir -p 删除多层级目录(其下不能包含文件)

rm 移除命令

rm:删除文件目录。

rm -r 递归删除(可以删除文件及目录)有提示

rm -rf 递归删除 无提示

cp 拷贝命令

cp [options] source destination

  • source 是要复制的文件或目录。

  • destination 是目标位置。

常用选项:

  • -r 或 -R: 递归复制目录及内容,可用于复制目录。

  • -v: 显示复制过程中的详细信息。

  • -f: 强制覆盖已存在的文件。

  • -i: 交互式提示是否覆盖已存在的文件。

  • -a: 归档复制模式,保留原文件的属性,常用于备份。

echo命令

echo:输出到控制台。

> 重定向命令

ls > aaa.txt 把ls命令显示当前路径下文件目录的结果输出到aaa.txt文件中。

cat 命令

用于连接和显示文件的内容

  • -n:对输出的所有行进行编号。

  • -b:对输出的非空白行进行编号。

  • -s:当遇到有连续两行或更多空白行时,就代换为一行空白行。

  • -T:使用 ^I 表示制表符,而不是空格。

  • -A:等价于 -vET 选项,它会显示所有的内容,包括特殊字符。

  • -e:等价于 -vE 选项,显示行结束符。

  • -t:等价于 -vT 选项,显示制表符。

mv 移动/重命名命令

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

  • 重命名文件:mv oldname.txt newname.txt 将把oldname.txt重命名为newname.txt。
  • 移动文件到目录:mv file.txt dir/ 将file.txt移动到dir/目录中。
  • 移动并重命名:mv file.txt dir/newfile.txt 将file.txt移动到dir/目录中并重命名为newfile.txt。

文件夹改名:mv jdk1.8.0_181/ jdk1.8

vi命令

    -i:编辑模式

    -o:编辑模式(直接到下一行)

    -w:保存

    -q:退出

    -esc:退出编辑

    -!:强行执行命令

    如编辑完文件后执行保存并强行退出命令,即:wq!

Tab按键:补全后面要输入的内容

快捷键:(非编辑模式下)

    a:在光标后一位开始输入

    A:在该行的最后插入

    I:在该行的最前插入

    yy:复制整行

    3yy:复制三行

    p:黏贴

    gg:直接跳到文件首行

    G:直接跳到文件的末行

    dd:删除一行

    3dd:删除三行

    /:搜索内容,n匹配下一个

    u:undo(撤销)

    ctrl+r:redo(执行之前撤销的)

    :set nu:设置行号

    :set nonu:设置不显示行号

    :q!:强制不保存退出

    fg 程序编号:切换后台挂起程序

    jobs:查看后台挂起的程序

    ctrl+z:将程序挂起

三、Linux权限

3.1. 添加用户(用户名ha 密码 ha)    

    useradd ha

    passwd ha 

3.2. userdel -r 用户名 ----删除用户

    加一个r表示把用户及用户的主目录都删除

    exit ----退出会话

3.3. 增加用户组

    groupadd 组名 ----增加组

    usermod -g 组名 用户名 ----将用户添加到组中

    usermod -G 组名1,组名2 用户名 ----将用户添加到多个组中

    gpasswd -d 用户名 组名 ----将用户从组中删除 例如:gpasswd -d jack root | gpasswd -d jack sys 

3.4. Linux文件权限的描述格式

d rwx rwx rwx

d:标识节点类型

第一个字符d表示文件夹目录, -表示文件, l表示链接, b表示装置文件里可供存储的接口设备(可随机存取装置), c表示装置文件里的串行接口设备(一次性读取装置)

r(4):可读

w(2):可写

x(1):可执行

第一组rwx:表示这个文件的拥有者对它的权限

第二组rwx:表示这个文件的所属组用户对它的权限

第三组rwx:表示这个文件的其他用户(除以上两种)对它的权限

使用二进制表示权限:例如-rw-rw-r-- 二进制表示为110,110,100 十进制表示为664

补充:

r:对文件来说,是可读取内容;对文件来说,是可以ls

w:对文件来说,是可修改文件的内容;对文件来说,是可以在其中创建或者删除子节点。

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---]分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1=7
  • others = 0+0+0 = 0

3.4.1. chgrp 修改文件所属组命令

3.4.2. chown 修改文件所有者命令

  • 修改所有者:chown 用户名 文件名,例如:chown user file.txt 将文件file.txt的所有者修改为user。
  • 修改所属组:chown :组名 文件名,例如:chown :group file.txt 将文件file.txt的所属组修改为group。
  • 同时修改所有者及所属组:chown 用户名:组名 文件名,例如:chown user:group file.txt 将文件file.txt的所有者修改为user,并将所属组修改为group。
  • -c:显示更改的信息。
  • -f:不显示错误信息。
  • -h:修复符号链接的解析问题。
  • -R:递归地改变文件或目录的所有者。
  • -v:显示详细的操作信息。
  • -from:指定从哪个用户改变所有者。
  • --reference:根据参考文件设置文件或目录的所有者和组。

3.4.3. chmod设置文件权限命令

添加权限:chmod +w aaa.txt 添加对文本aaa.txt写的权限

删除权限:chmod -w aaa.txt 删除对文本aaa.txt写的权限

四、切换t用户

切换root用户 su root

切换普通用户 su ha ------ha是普通用户

按exit可以退到上一个用户 

Linux ssh远程登录指定IP的服务器

ssh root@192.168.33.88 通过ssh远程访问IP:192.168.33.88服务器(root用户) 

Linux ssh远程免密登录指定IP的机子(通过私钥和公钥)

本地生成密钥:ssh -keygen

拷贝公钥到指定要远程的服务器:ssh-copy-id 192.168.33.88

远程拷贝文件到指定主机:scp abc.txt 192.168.33.88:/root

远程拷贝文件夹到指定主机:scp -r abc 192.168.33.88:/root

远程生成文件(文件里输入指定内容hello)到指定主机:ssh 192.168.33.88 "echo hello > /root/wzx.txt"

查看当前主机命令:hostname

更改主机名:hostname wzx 这个更改的主机名只在主机运行时有效 重启便会失效

永久更改主机名:vi /etc/sysconfig/network 更改此文件中的内容即可

配置JDK环境变量(vi /etc/profile):

export JAVA_HOME=/root/apps/jdk1.8/

export PATH=$PATH:$JAVA_HOME/bin

修改完需要让配置文件生效,命令:source /etc/profile

执行可执行文件(sh)命令:./startup.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值