linux命令入门

man命令

man 是 manuals 说明书的缩写。
所有命令都可以使用man 命令进行查看该命令的说明书。

所有命令一般都支持命令 -h 或者 -? 或者 -help –help之类的查看帮助。

用户管理

添加组命令:

1
groupadd 组名

添加用户命令:

1
2
3
4
# 添加用户并创建一个同名的组
useradd 用户名
# 添加指定组的用户
useradd -g 用户组ID 用户名

设置密码命令:

1
2
3
4
# 设置指用户的密码
passwd 用户名
# 修改当前用户密码
passwd

查看有哪些用户:

1
cat /etc/passwd

查看有哪些用户组:

1
cat /etc/group

/etc/passwd 文件的一般格式

1
username:password:UID:GID:GECOS:home_directory:shell
  1. username:用户的登录名称,用于登录系统。
  2. password:实际上,密码字段在现代Linux系统中通常被放置为 “x” 或 “*”,表示密码存储在 /etc/shadow 文件中,以增强安全性。
  3. UID:用户的唯一标识号(User ID)。每个用户在系统中都有唯一的UID。
  4. GID:用户所属的组的唯一标识号(Group ID)。
  5. GECOS:一些用户信息字段,通常包括用户的全名和其他描述性信息。
  6. home_directory:用户的主目录路径,即用户登录后默认的工作目录。
  7. shell:用户默认的shell程序,用于命令行交互。如果为空,则可能意味着用户无法登录。

Windows 登录后的程序是 explorer.exe。

Linux 登录后的交互命令行是一个解析脚本的程序,这里配置的是 /bin/bash。

文件管理

cd 就是 change directory,就是切换目录

cd . 表示切换到当前目录;

cd .. 表示切换到上一级目录;

ls 可以列出当前目录下的文件。

1
2
3
# ls -l
drwxr-xr-x 6 root root 4096 Oct 20 2017 apt
-rw-r--r-- 1 root root 211 Oct 20 2017 hosts

其中第一个字段的第一个字符是文件类型。如果是“-”,表示普通文件;如果是 d,就表示目录。

第一个字段剩下的 9 个字符是模式,其实就是权限位(access permission bits)。3 个一组,每一组 rwx 表示“读(read)”“写(write)”“执行(execute)”。如果是字母,就说明有这个权限;如果是横线,就是没有这个权限。

这三组分别表示文件所属的用户权限、文件所属的组权限以及其他用户的权限。

第二个字段是硬链接(hard link)数目。

第三个字段是所属用户,第四个字段是所属组。

第五个字段是文件的大小,第六个字段是文件被修改的日期,最后是文件名。

你可以通过命令chown改变所属用户,chgrp改变所属组。

安装软件

rpm与deb包安装

CentOS 体系 使用rpm包,使用rpm命令。

Ubuntu 体系 使用deb包,使用dpkg命令。

软件管家(yum与apt-get)

CentOS 体系 使用yum命令。

Ubuntu 体系 使用apt-get命令。

源配置在哪

CentOS 来讲,配置文件在/etc/yum.repos.d/CentOS-Base.repo里。

Ubuntu 来讲,配置文件在/etc/apt/sources.list里。

直接下载解压并配置

wget http://xxxx.com/xxx.tar.gz

tar xvzf xxx.tar.gz

配置环境变量

临时有效
1
2
export JAVA_HOME=/root/jdk-XXX_linux-x64
export PATH=$JAVA_HOME/bin:$PATH

export 命令仅在当前命令行的会话中管用,一旦退出重新登录进来,就不管用了。

用户有效

在home目录下.bashrc文件中在最后加入

1
2
export JAVA_HOME=/root/jdk-XXX_linux-x64
export PATH=$JAVA_HOME/bin:$PATH

每次登录的时候,这个文件都会运行,因而把它放在这里。这样登录进来就会自动执行。当然也可以通过 source .bashrc 手动执行。

所有用户有效

1./etc/environment 文件:这个文件中的变量对所有用户都是全局有效的。您可以在其中添加环境变量,每行一个,以键值对的方式表示。例如:

1
2
PATH="/usr/local/bin:/usr/bin:/bin"
LANG="en_US.UTF-8"

在修改此文件后,需要重新登录或重新启动系统才能使更改生效。

2./etc/profile 文件:这个文件也可以用于设置全局环境变量。通常,系统范围的环境变量设置可以在 /etc/profile 文件中进行。要添加一个环境变量,请在文件中创建一个类似以下示例的行:

1
export MY_VARIABLE="my_value"

修改后,可以通过重新登录或重新启动来使更改生效。

3./etc/profile.d/ 目录:在这个目录中,您可以创建一个以 .sh 结尾的脚本文件,并在其中设置环境变量。这些脚本文件将在用户登录时自动执行,因此也会对所有用户生效。例如,可以创建一个名为 myenv.sh 的文件,并在其中设置环境变量:

1
2
# /etc/profile.d/myenv.sh
export MY_VARIABLE="my_value"

这种方法的好处是可以将环境变量设置分散到不同的文件中,使管理更加灵活。

运行程序

Linux 的执行条件是这样的:

只要文件有 x 执行权限,都能到文件所在的目录下,通过./filename运行这个程序。当然,如果放在 PATH 里设置的路径下面,就不用./ 了,直接输入文件名就可以运行了,Linux 会帮你找。

前台运行

./filename运行这个程序

例如date命令

后台运行

我们往往使用nohup命令。这个命令的意思是 no hang up(不挂起),也就是说,当前交互命令行退出的时候,程序还要在。

当然这个时候,程序不能霸占交互命令行,而是应该在后台运行。最后加一个 &,就表示后台运行。

最终命令的一般形式为nohup command >out.file 2>&1 &。这里面,“1”表示文件描述符 1,表示标准输出,“2”表示文件描述符 2,意思是标准错误输出,“2>&1”表示标准输出和错误输出合并了。合并到哪里去呢?到 out.file 里。

以服务的方式运行

在 /lib/systemd/system 目录下会创建一个 XXX.service 的配置文件,里面定义了如何启动、如何关闭。

关机和重启

shutdown -h now是现在就关机

reboot就是重启。


linux命令入门
http://hanqichuan.com/2023/09/14/linux/linux命令入门/
作者
韩启川
发布于
2023年9月14日
许可协议