1. Linux 基础
1.1 什么是 Linux?
Linux 是一种开源的、免费的操作系统,由 Linus Torvalds 在 1991 年首次发布。它是一种类 Unix 操作系统,具有快速、稳定、安全等优点,被广泛应用于服务器、超级计算机等领域。
1.2 Linux 文件系统
Linux 中采用树形结构来组织文件系统,其中根目录为 /
,所有其他目录都是从根目录开始的相对路径。下面是一些常用的目录:
/bin
: 存放系统可执行文件。/boot
: 存放启动引导程序和内核配置文件。/dev
: 存放设备文件。/etc
: 存放系统配置文件。/home
: 用户的家目录。/lib
: 存放共享库文件。/mnt
: 挂载存储设备的目录。/opt
: 存放第三方软件包的目录。/tmp
: 存放临时文件的目录。/usr
: 存放系统软件和数据文件。
1.3 Linux 用户和权限
在 Linux 中,每个用户都有一个唯一的用户名和用户 ID(UID)。每个文件和目录都有所有者和组,用于控制访问权限。下面是一些常用的命令:
whoami
: 查看当前用户。
$ whoami john
useradd
: 添加新用户。
$ sudo useradd jerry
passwd
: 修改用户密码。
bash复制代码
$ sudo passwd jerry
su
: 切换到其他用户。
$ su jerry
sudo
: 以超级用户身份执行命令。
$ sudo apt-get install nginx
chown
: 修改文件或目录的所有者和组。
$ sudo chown john:john file.txt
chmod
: 修改文件或目录的权限。
$ chmod u=rw,g=r,o=r file.txt
1.4 Linux 进程管理
在 Linux 中,进程是程序运行时的实例。可以使用一些命令来查看和管理系统中的进程。下面是一些常用的命令:
ps
: 查看当前用户的进程列表。
$ ps -ef
top
: 实时查看系统进程和资源占用情况。
$ top
kill
: 终止指定进程。
$ kill PID
pkill
: 根据进程名终止进程。
$ pkill nginx
pstree
: 查看进程树。
$ pstree
2. Linux 常用命令
2.1 文件和目录操作
在 Linux 中,文件和目录是系统中的基本单位。下面列出了一些常用的文件和目录操作命令:
ls
: 列出当前目录下的文件和子目录。
$ ls
cd
: 切换当前工作目录。
bash复制代码
$ cd /home/john
mkdir
: 创建新目录。
bash复制代码
$ mkdir new_dir
touch
: 创建新文件或更新现有文件。
bash复制代码
$ touch file.txt
cp
: 复制文件或目录。
$ cp file.txt new_file.txt
mv
: 移动文件或目录。
$ mv file.txt /home/john/
rm
: 删除文件或
rm -f /rm -rf 强制删除
3,linux系统信息查看
Linux 系统信息查看
在 Linux 中,可以使用一些命令来查看系统的状态和配置信息。下面是一些常用的系统信息查看命令及其实际例子。
3.1 uname 命令
uname
命令可以用来显示操作系统的相关信息,如内核名称、版本号等。
$ uname -a Linux ubuntu 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
3.2 uptime 命令
uptime
命令可用于查看系统的运行时间以及平均负载情况。
$ uptime 15:05:34 up 2 days, 3:45, 1 user, load average: 0.00, 0.01, 0.05
其中,第一列是当前时间;第二列显示自系统启动以来经过的时间;第三列表示登录用户数量;第四列则显示了平均负载情况。平均负载指的是过去 1 分钟、5 分钟和 15 分钟中 CPU 处理的任务数。
3.3 top 命令
top
命令可以实时显示系统进程、资源占用情况以及进程的优先级等信息。
$ top
按 Q 键退出 top
命令。
3.4 ps 命令
ps
命令可以用来列出当前用户的进程列表。
$ ps -ef USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.9 168496 19796 ? Ss Aug06 3:18 /sbin/init... root 2 0.0 0.0 0 0 ? S Aug06 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< Aug06 0:00 [rcu_gp]
其中,PID 是进程 ID,COMMAND 是进程名。
3.5 df 命令
df
命令可以显示磁盘空间使用情况。
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.0M 1.6G 1% /run
/dev/sda1 98G 32G 62G 34% /
tmpfs 7.8G 376K 7.8G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/loop0 219M 219M 0 100% /snap/gnome-3-34-1804/66
/dev/loop1 56M 56M 0 100% /snap/core18/2128
其中,Size 是磁盘的总容量;Used 是已用空间;Avail 是可用空间;Use% 表示已使用百分比;Mounted on 则表示磁盘挂载的目录。
3.6 free 命令
free
命令可以查看系统内存使用情况。
$ free -h
total used free shared buff/cache available
Mem 7.7Gi 2.2Gi 4.4Gi 24Mi 1.1Gi 5.2Gi
Swap 2.0Gi 0B 2.0Gi
``
4,网络部分
Linux 系统网络管理部分的命令总结与举例
在 Linux 系统中,网络管理是一个重要的部分。管理员需要掌握一些命令以便管理和维护网络。下面是一些常用的网络管理命令及其实际例子:
1. ifconfig 命令
ifconfig
命令用于查看和配置网络接口。
$ ifconfig eth0
其中,eth0 是需要查看或配置的网络接口名称。
2. ip 命令
ip
命令可以用来显示和修改 Linux 内核网络设置、路由表等信息。
$ ip addr show
该命令将显示所有网络接口的详细信息。
3. ping 命令
ping
命令用于测试网络连接是否正常,并且可以计算延迟时间。
$ ping www.google.com
其中,www.google.com 是要测试的网站地址。
4. traceroute 命令
traceroute
命令用于跟踪网络数据包的路径。
$ traceroute www.google.com
其中,www.google.com 是要跟踪的网站地址。
5. netstat 命令
netstat
命令用于显示网络连接状态和协议统计信息。
$ netstat -an
该命令将列出所有的网络连接和监听端口。
6. nmap 命令
nmap
命令用于扫描网络上的主机和开放的端口。
$ nmap -sP 192.168.1.0/24
该命令将扫描 IP 地址从 192.168.1.1 到 192.168.1.254 的所有主机,并给出响应的主机名。
7. ss 命令
ss
命令用于显示当前系统套接字状态信息。
$ ss -an
该命令将列出所有套接字连接和监听端口。
以上列举的命令只是部分,网络管理还需要根据具体情况选择适合的命令进行操作。
5,软件包管理
在 Linux 系统中,软件包的安装和管理是一个重要的部分。同时,经常需要对文件进行压缩和解压缩。下面是一些常用的软件包管理和文件解压缩命令及其实际例子:
1. 软件包管理
apt
命令:用于在 Debian 和 Ubuntu 等 Linux 发行版上安装、升级、删除软件包。
$ sudo apt install package-name
其中,package-name 是要安装的软件包名称。
yum
命令:用于在 CentOS、Fedora 等 Linux 发行版上安装、升级、删除软件包。
$ sudo yum install package-name
其中,package-name 是要安装的软件包名称。
6,文件解压缩
tar
命令:用于打包和解包文件。
$ tar -cvf archive.tar file1 file2 file3
该命令将创建名为 archive.tar 的压缩文件,并将文件 file1、file2、file3 添加到其中。
$ tar -xvf archive.tar
该命令将从名为 archive.tar 的压缩文件中解压缩文件。
gzip
命令:用于压缩文件。
$ gzip file.txt
该命令将压缩名为 file.txt 的文件,并将生成名为 file.txt.gz 的压缩文件。
$ gzip -d file.txt.gz
该命令将解压缩名为 file.txt.gz 的压缩文件,并将生成名为 file.txt 的原始文件。
zip
命令:用于打包和解包 ZIP 格式的文件。
$ zip -r archive.zip file1 file2 file3
该命令将创建名为 archive.zip 的压缩文件,并将文件 file1、file2、file3 添加到其中。
$ unzip archive.zip
该命令将从名为 archive.zip 的压缩文件中解压缩文件。
以上列举的命令只是部分,软件包管理和文件解压缩还需要根据具体情况选择适合的命令进行操作。