参考教程:趣谈 Linux 操作系统
# 用户名和密码
passwd命令
用来修改用户的登录密码
在New password后面输入需要新设置的密码就好了,注意输入的密码不会显示在屏幕上,回车确认后会出现Retype new password需要你再次输入新设置的密码
# 改变当前用户的密码 | ||
passwd | ||
Changing password for user root. | ||
New password: | ||
# 改变指定用户的密码 | ||
passwd <username> | ||
Changing password for user <username>. | ||
New password: |
useradd命令
用来新建一个用户
如果不使用 -g 参数指定新建用户的属组的话,默认会创建一个当前用户同名的属组
# 不指定新建用户属组 | ||
useradd lighthouse | ||
# 指定新建用户属组 | ||
useradd -g root lighthouse |
用户信息存放的位置
在 Linux 中和用户相关的信息一般存放在
/etc/passwd和/etc/group里面
cat /etc/passwd | ||
root:x:0:0:root:/root:/bin/bash | ||
... | ||
lighthouse:x:1000:1000::/home/lighthouse:/bin/bash | ||
... |
在
/etc/passwd中第一位对应的是当前 Linux 系统中存在的用户名,如root和lighthouse,第二位x代表用户的密码(密码不会存储在这里),第三位和第四位分别代表用户ID和组ID,接下来的/root或/home/lighthouse代表的是它们对应用户的主目录,最后的/bin/bash代表用户登录后使用bash进行命令行交互
# 浏览文件
cd命令
用户切换目录
# 切换到当前目录 | ||
cd . | ||
# 切换到上级目录 | ||
cd ../ |
pwd命令
输出当前工作目录的路径
# 输出当前工作目录 | ||
pwd | ||
/root |
ls命令
列出当前工作目录下的文件
# 列出文件 | ||
ls | ||
bot.log github-project | ||
# 以列表的形式列出 (可以使用 ls -al 列出隐藏文件) | ||
ls -l | ||
total 196 | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project |
文件列表信息说明
第一个字段的第一个字符是文件类型:如果是 “-”,表示普通文件;如果是 d,就表示目录(当然除此之外,还有很多种文件类型)第一个字段剩下的9个字符是模式:其实是权限位,3 个一组,每一组rwx表示读(read)写(write)执行(execute)。如果是字母,就说明有这个权限;如果是横线,就是没有这个权限。这三组分别表示文件所属的用户权限、文件所属的组权限以及其他用户的权限。例如,上面的例子中,-rw-r–r--代表这是一个普通文件,对于所属用户,可读可写不能执行;对于所属的组,仅仅可读;对于其他用户,也是仅仅可读- 第二个字段是
硬链接数目 - 第三个字段是
所属用户,第四个字段是所属组 - 第五个字段是
文件大小,第六个字段是文件被修改的日期,最后是文件名
修改文件信息
- 通过
chmod命令修改文件权限信息
# 创建一个演示文件 | ||
touch demo.txt | ||
# 列出当前目录下的文件 | ||
ls -l | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rw-r--r-- 1 root root 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project | ||
# 修改 demo.txt 文件的权限 | ||
chmod 711 demot.txt | ||
# 重新列出当前目录下的文件 | ||
ls -l | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rwx--x--x 1 root root 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project |
chmod 711 的含义:我们知道文件权限位是 3 个一组,一共 3 组,每组中的 r、w、x 对应的值分别是 4、2、1(每组权值累加即代表该组权限),因此 711 就相当于 rwx--x--x ,即赋予文件所属用户可读、可写、可执行权限;文件所属组可执行权限;其他用户可执行权限
- 通过
chown命令修改文件所属用户
# 列出当前目录下的文件 | ||
ls -l | ||
total 196 | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rwx--x--x 1 root root 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project | ||
# 修改 demo.txt 文件所属用户 | ||
chown lighthouse demo.txt | ||
# 重新列出当前目录下的文件(demo.txt 所属用户已经改为 lighthouse) | ||
ls -l | ||
total 196 | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rwx--x--x 1 lighthouse root 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project |
- 通过
chgrp命令修改文件所属组
# 列出当前目录下的文件 | ||
ls -l | ||
total 196 | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rwx--x--x 1 lighthouse root 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project | ||
# 修改 demo.txt 文件所属组 | ||
chgrp lighthouse demo.txt | ||
# 重新列出当前目录下的文件(demo.txt 所属组已经改为 lighthouse) | ||
ls -l | ||
total 196 | ||
-rw-r--r-- 1 root root 188890 Apr 28 12:39 bot.log | ||
-rwx--x--x 1 lighthouse lighthouse 0 Apr 28 17:44 demo.txt | ||
drwxr-xr-x 6 root root 4096 Apr 14 11:20 github-project |
以可以通过 chown user:group filename 一次性修改文件的所属用户和所属组
# 安装软件
- CentOS 体系
- 使用
rpm包,通过命令rpm -i xxx.rpm进行安装,rpm -qa可以查看安装的软件列表,rpm -e xxx来删除已经安装的软件 - 通过
yum包管理器安装,执行命令yum install xxx即可。比如,yum install zip.x86_64 unzip.x86_64
- 使用
- Ubuntu 体系
- 使用
deb包,通过命令dpkg -i xxx.deb进行安装,dpkg -l查看安装的软件列表,dpkg -r xxx来删除已经安装的软件 - 通过
apt包管理器安装,执行命令apt install xxx即可。比如,apt install zip unzip
- 使用
其实无论是先下载再安装,还是通过软件管家进行安装,都是下载一些文件,然后将这些文件放在某个路径下,然后在相应的配置文件中配置一下。例如,在
Windows里面,最终会变成C:\Program Files下面的一个文件夹以及注册表里面的一些配置。对应Linux里面会放的更散一点。例如,主执行文件会放在/usr/bin或者/usr/sbin下面,其他的库文件会放在/var下面,配置文件会放在/etc下面
- 通用方案
通过将安装好的路径直接下载下来,然后解压缩成为一个整的路径
如果是tar.gz这种格式的,通过tar xvzf xxx.tar.gz就可以解压缩了
通过压缩包进行安装的方式,需要自行设置环境变量。比如,安装 JDK 需要将export JAVA_HOME=/root/jdk-XXX_linux-x64
和export PATH=$JAVA_HOME/bin:$PATH环境变量加入到当前用户主目录下的.bashrc文件中(如果使用的是 bash 进行进行命令行交互)