一、介绍Linux基础知识
Linux系统是基于UNIX的,它继承了UNIX的优秀特性,如多用户、多任务、强大的安全性等,因此在服务器操作系统领域占据了主导地位。这篇文章主要总结了Linux基础知识,包括用户设置、权限设置、下载环境和常用命令等。
二、用户设置
在Linux系统中,每个用户都拥有独立的账号和密码,用户可以在自己的账户中进行操作和管理,但不能操作和管理其他用户。为了设置用户,可以使用以下命令:
- useradd:创建一个新用户。例如,创建一个名为tom的用户,可以使用以下命令:
useradd tom
- passwd:设置用户密码。例如,为tom用户设置密码,可以使用以下命令:
passwd tom
- usermod:修改用户信息。例如,将tom用户的跟目录修改为/home/tom,可以使用以下命令:
usermod -d /home/tom tom
三、权限设置
Linux系统是一个基于权限的系统,用户需要通过权限才能进行操作。Linux中的文件和目录都有文件权限,其中包括读取、写入、执行等权限。以下命令可以用于权限设置:
- chmod:为文件或目录设置权限。例如,将文件test.txt的权限设置为读写执行,可以使用以下命令:
chmod 777 test.txt
- chown:修改文件或目录的所属用户。例如,将test.txt的所有者修改为tom,可以使用以下命令:
chown tom test.txt
- chgrp:修改文件或目录的所属组。例如,将test.txt的所属组修改为tom,可以使用以下命令:
chgrp tom test.txt
四、下载环境
在Linux系统中,常常需要下载和安装常用软件、工具和应用程序。以下命令可以用于下载环境:
- JDK 下载:
# 使用 wget 下载 JDK
wget "https://download.oracle.com/otn-pub/java/jdk/14.0.2+12/205943a0976c4ed48cb16f1043c5c647/jdk-14.0.2_linux-x64_bin.tar.gz" --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -O jdk-14.0.2_linux-x64_bin.tar.gz
# 解压 JDK
tar -zxvf jdk-14.0.2_linux-x64_bin.tar.gz
- MySQL 下载:
# 使用 wget 下载 MySQL
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
# 解压 MySQL
tar -xf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
- Tomcat 下载:
# 使用 wget 下载 Tomcat
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz
# 解压 Tomcat
tar -xzvf apache-tomcat-9.0.45.tar.gz
- Redis 下载:
# 使用 wget 下载 Redis
wget https://download.redis.io/releases/redis-6.0.10.tar.gz
# 解压 Redis
tar -xzvf redis-6.0.10.tar.gz
注意:以上命令中的下载地址可能随时变更,请以官方网站提供的下载地址为准。
五、常用命令
Linux系统中有很多常用命令,以下是一些常用命令及其用法:
- ls:列出当前目录下的文件和子目录。例如,列出当前目录下的所有文件和目录,可以使用以下命令:
ls -al
- cd:改变当前工作目录。例如,进入/home/tom目录,可以使用以下命令:
cd /home/tom
- mkdir:创建一个新目录。例如,新建一个名为test的目录,可以使用以下命令:
mkdir test
- rm:删除一个文件或目录。例如,删除名为test.txt的文件,可以使用以下命令:
rm test.txt
- mv:移动或重命名文件。例如,将test.txt移动到/home/tom目录下,并将其重命名为test2.txt,可以使用以下命令:
mv test.txt /home/tom/test2.txt
- awk命令:
awk是一种用于文本处理的命令行工具,可以对文本进行分割、过滤、格式化等操作。它是一种类似于编程语言的工具,可以通过编写awk脚本实现复杂的文本处理任务。常用的选项有:
- F:指定分隔符;
- FS:同-F参数;
- v:定义变量;
- FNR:输出文件中的行号;
- FILENAME:输出当前行所在的文件名。
示例:统计文件中每个单词出现的次数
awk '{ for(i=1;i<=NF;i++) { wordcounts[tolower($i)]++ } } END { for(w in wordcounts) { print w, wordcounts[w] } }' filename.txt
- sed命令:
sed是一种流编辑器,可以对文本进行搜索、替换、删除等操作。它支持正则表达式,可以实现非常灵活的文本处理任务。常用的选项有:
- -i:直接修改文件内容;
- -e:扩展脚本模式;
- -n:关闭默认输出;
- -d:删除指定行。
示例:将文件中的所有“abc”替换为“xyz”
sed 's/abc/xyz/g' filename.txt
- find命令:
find是一种用于文件查找的命令行工具,可以查找特定目录下的文件或目录,并根据不同的条件进行筛选。常用的选项有:
- -name:按名称查找;
- -type:按类型查找;
- -size:按大小查找;
- -mtime:按修改时间查找。
示例:在当前目录及其子目录中查找所有扩展名为“.txt”的文件
find . -name "*.txt"
- xargs命令:
xargs是一种将标准输入转换为命令行参数的命令行工具,可以将一个命令的输出作为另一个命令的输入,并将其传递给另一个命令进行处理。常用的选项有:
- -n:每次传递的参数数量;
- -I:替换参数的字符串;
- -t:显示命令执行过程;
- -L:指定传递参数的行数。
示例:将文件列表传递给另一命令进行处理
find . -name "*.txt" | xargs grep "hello"
- curl命令:
curl是一种用于数据传输的命令行工具,可以进行文件下载、上传、API调用等操作。它支持多种协议,包括HTTP、FTP、LDAP等。常用的选项有:
- -I:只显示HTTP响应头;
- -o:将输出保存为文件;
- -v:显示请求和响应的详细信息;
- -u:指定用户名和密码。
示例:使用curl下载网页并保存为本地文件
curl -o filename.html "http://www.example.com"