Skip to content

时间

时区

  • 查看:timedatectl
    • 或者 ls -l /etc/localtime

硬件

host

bash
hostname # 查看计算机名

cpu

bash
cat /proc/cpuinfo # 查看CPU信息

环境

bash
env # 查看环境变量资源

Linux System

bash
lsb_release -a # 即可列出所有版本信息

uname # 查看操作系统
uname -a  # 打印内核名/网络节点主机名/内核发行版本号/内核版本号/机器硬件名/处理器类型/硬件平台/操作系统/

/bin: 存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;

  • /etc: 存放系统管理和配置文件;
  • /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
  • /usr: 用于存放系统应用程序;
  • /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
  • /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /root: 超级用户(系统管理员)的主目录(特权阶级^o^);
  • /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
  • /dev: 用于存放设备文件;
  • /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot: 存放用于系统引导时使用的各种文件;
  • /lib 和/lib64: 存放着和系统运行相关的库文件 ;
  • /tmp: 用于存放各种临时文件,是公用的临时文件存储点;
  • /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
  • /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。

推荐一个 Linux 命令快查网站,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。Linux 命令在线速查手册:https://wangchujiang.com/linux-command/

 Linux 命令快查

另外,shell.how 这个网站可以用来解释常见命令的意思,对你学习 Linux 基本命令以及其他常用命令(如 Git、NPM)。

  • top [选项]:用于实时查看系统的 CPU 使用率、内存使用率、进程信息等。
  • htop [选项]:类似于 top,但提供了更加交互式和友好的界面,可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
  • uptime [选项]:用于查看系统总共运行了多长时间、系统的平均负载等信息。
  • vmstat [间隔时间] [重复次数]:vmstat (Virtual Memory Statistics) 的含义为显示虚拟内存状态,但是它可以报告关于进程、内存、I/O 等系统整体运行状态。
  • free [选项]:用于查看系统的内存使用情况,包括已用内存、可用内存、缓冲区和缓存等。
  • df [选项] [文件系统]:用于查看系统的磁盘空间使用情况,包括磁盘空间的总量、已使用量和可用量等,可以指定文件系统上。例如:df -a,查看全部文件系统。
  • du [选项] [文件]:用于查看指定目录或文件的磁盘空间使用情况,可以指定不同的选项来控制输出格式和单位。
  • sar [选项] [时间间隔] [重复次数]:用于收集、报告和分析系统的性能统计信息,包括系统的 CPU 使用、内存使用、磁盘 I/O、网络活动等详细信息。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
  • ps [选项]:用于查看系统中的进程信息,包括进程的 ID、状态、资源使用情况等。ps -ef/ps -aux:这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis (查看包括 redis 字符串的进程),也可使用 pgrep redis -a
  • systemctl [命令] [服务名称]:用于管理系统的服务和单元,可以查看系统服务的状态、启动、停止、重启等。

网络通信

  • ping [选项] 目标主机:测试与目标主机的网络连接。
  • ifconfigip:用于查看系统的网络接口信息,包括网络接口的 IP 地址、MAC 地址、状态等。
  • netstat [选项]:用于查看系统的网络连接状态和网络统计信息,可以查看当前的网络连接情况、监听端口、网络协议等。
  • ss [选项]:比 netstat 更好用,提供了更快速、更详细的网络连接信息。

其他

  • sudo + 其他命令:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
  • grep 要搜索的字符串 要搜索的文件 --color:搜索命令,--color 代表高亮显示。
  • kill -9 进程的pid:杀死进程(-9 表示强制终止)先用 ps 查找进程,然后用 kill 杀掉。
  • shutdownshutdown -h now:指定现在立即关机;shutdown +5 "System will shutdown after 5 minutes":指定 5 分钟后关机,同时送出警告信息给登入用户。
  • rebootreboot:重开机。reboot -w:做个重开机的模拟(只有纪录并不会真的重开机)。

Linux 环境变量

在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的主目录(HOME)。

环境变量分类

按照作用域来分,环境变量可以简单的分成:

  • 用户级别环境变量 : ~/.bashrc~/.bash_profile
  • 系统级别环境变量 : /etc/bashrc/etc/environment/etc/profile/etc/profile.d

上述配置文件执行先后顺序为:/etc/environment –> /etc/profile –> /etc/profile.d –> ~/.bash_profile –> /etc/bashrc –> ~/.bashrc

如果要修改系统级别环境变量文件,需要管理员具备对该文件的写入权限。

建议用户级别环境变量在 ~/.bash_profile中配置,系统级别环境变量在 /etc/profile.d 中配置。

按照生命周期来分,环境变量可以简单的分成:

  • 永久的:需要用户修改相关的配置文件,变量永久生效。
  • 临时的:用户利用 export 命令,在当前终端下声明环境变量,关闭 shell 终端失效。

读取环境变量

通过 export 命令可以输出当前系统定义的所有环境变量。

bash
# 列出当前的环境变量值
export -p

除了 export 命令之外, env 命令也可以列出所有环境变量。

echo 命令可以输出指定环境变量的值。

bash
# 输出当前的PATH环境变量的值
echo $PATH
# 输出当前的HOME环境变量的值
echo $HOME

环境变量修改

通过 export命令可以修改指定的环境变量。不过,这种方式修改环境变量仅仅对当前 shell 终端生效,关闭 shell 终端就会失效。修改完成之后,立即生效。

bash
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

通过 vim 命令修改环境变量配置文件。这种方式修改环境变量永久有效。

bash
vim ~/.bash_profile

如果修改的是系统级别环境变量则对所有用户生效,如果修改的是用户级别环境变量则仅对当前用户生效。

修改完成之后,需要 source 命令让其生效或者关闭 shell 终端重新登录。

bash
source /etc/profile

正在精进