linux基础知识

简介: 适用于Linux基础小白

Linux简易命令表:

ls  查看当前文件夹下的内容
pwd 查看当前所在的文件夹
cd  切换文件夹
touch 如果文件不存在,新建文件
mkdir 创建目录
rm   删除指定的文件名
rm - r 删除目录(即文件名)
clear 清屏
command 代表命令名,相应功能的英语单词或单词的缩写
{}代表可选(另也可代表可有可无)
command--help 显示command命令的帮助信息
man {command} {命令} 查询command命令的使用手册
【空格键 显示手册页的下一幕】
【Enter 一次滚动手册页的一行】
【b 回滚一屏】
【f 前滚一屏】
【q 退出】
【word 搜索word的字符串】
linux系统查看隐藏文件:

ls -a 可以查看到Linux的隐藏文件。

创建Linux的隐藏文件:

touch .【文件名】

隐藏文件前需要.

Linux删除隐藏文件:

跟删除普通文件一样,但需要将隐藏文件前的.输入。

ls的通配符的使用:

* 代表任意和任意数量的字符,例如:需要寻找到以demo文件,只需要输入:ls d*即可。

h 只能代表一个字符

ls -lh 以列表的方式查看当前目录下的所有文件。

【】是代表我们想要的一个字符组。

【-】中括号中加入一个减号,代表一个范围。例如:【1-6】代表可以找到文件名中含有1到6的文件名。

cd命令的常用命令:
cd 可以直接回到文件的根目录
cd ~ 可以直接回到文件根目录
cd .. 退回上一层目录
cd - 在最近的两个目录之间来回切换
cd . 在当前目录不动

mkdir进阶用法:
mkdir -p 可以在一个文件夹内创建多个目录

rm的进阶命令:(rm删除命令,删除文件后不能复原。)

rm -f 强制删除,忽略不存在的文件,无需提示。
rm -r 删除文件夹时,必须加上。
拷贝和移动文件:
tree【目录名】
tree -d 只显示目录

cp 命令:
cp 源文件 目标文件 【复制文件】
cp -i 覆盖文件之前提示【y 代表yes】 【n 代表no】
cp -r 复制一个目录

mv 命令:
mv 源文件 目标文件 【移动文件或者目录 进行文件或者目录的重命名】
mv -i 【覆盖文件前会提示】

查看文件内容的命令:
cat 文件名 【查看文件内容,创建文件,文件合并】(完全显示文件内容)
cat -b 对非空输出行编号
cat -n 对输出的所有行编号

more 文件名 【分屏显示文件内容】(只显示一页的内容)
more 的操纵键:
空格键 显示手册页的下一页
Enter键 一次滚动手册的一行
b 回滚一行
f 前滚一行
q 退出
/word 搜索word字符串

grep 搜索文本文件名 【搜索文本文件内容】

grep -n 显示匹配行及行号
grep -v 显示不包含匹配文本的所有行(相当于求反)
grep -i 忽略大小写

常用的两种模式查找:
grep ^a 行首。搜寻以a开头的行
ke$ 行尾,搜寻以ke结束的行

echo命令会在终端中显示参数指定的文字,通常会和重定向联合使用
重定向的符号:>和>>

> 是一个输出符号,可以将输出的数据输出到其它文件之中,并替换原文件里的内容。
>> 是一个追加符号,会将内容追加到已有文件的末尾。

管道符号:| 。【linux允许一个命令的输出可以通过管道做为另一个命令的输入。】

远程管理常用命令:
关机:shutdown
重启:shutdown -r
取消之前的关机命令:shutdown -c

shutdown -r now 表示现在立即重启
shutdown now 表示现在立刻关机
shutdown 指定时间 表示会在自己指定的时间冠关机
shutdown -r 指定时间 表示会在自己的指定时间进行重启
shutdown +10 表示会在十分钟之后进行关机

查看配置网卡信息:
ifconfig 查看配置计算机当前的网卡配置信息
ping ip地址 检测到目标ip地址的连接是否正常
【ctrl c 可以中止ping命令】

远程登录和复制文件
ssh 用户名@ip
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径

SSH 服务器 默认端口号:22
Web 服务器 默认端口号:80
HTTPS 默认端口号:443
FTP 服务器 默认端口号:21

SSH客户端的简单使用
ssh [-p port] user@remote
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是ip/域名,或者是别名
port 是SSH Server 监听的端口,如果不指定,就为默认值 22

【windows】用户,可以安装PuTTY或者XShell客户端即可

scp -P 复制目录
scp -r 传送目录
scp -r 【要传输的文件名】 {虚拟机用户名}@{虚拟机地址}:要复制到的文件的名称(传输到虚拟机里)
scp -r {虚拟机用户名}@{虚拟机地址}:要复制过来的文件名及其所在地址(由虚拟机传输到现实计算机里)

ssh:
免密码登录:ssh-keygen即可生成ssh钥匙。
上传公钥到服务器:ssh-copy-id -p (端口号) (用户名)@(远程电脑的ip地址)

ls -l的扩展用法:
r代表可读
w代表可写
x代表可执行

chmod 简单使用
chmod可以修改用户/组对文件/目录的权限
chmod +/-rwx 文件名/目录名
+ 代表增加权限
- 代表减少权限
(python 执行文件命令需要先加上一个.然后加上/最后写上文件名/目录名

组管理 终端命令
【创建组/删除组的终端命令都需要通过sudo执行】
groupadd 组名    添加组
groupdel 组名    删除组
cat/etc/group    确认组信息
sudo chgrp -R 组名 文件/目录名      修改文件/目录的所属组    -R是可以修改文件夹里所有文件/目录的组别

用户管理 终端命令
创建用户/设置密码/删除用户
useradd -m -g 组 新建用户名    作用:添加新用户    说明:-m 自动建立用户家目录 -g 指定用户所在的组,否则建立一个和同名的组
passwd 用户名        作用:设置用户密码    说明:如果是普通用户,直接使用passwd可以修改自己的账户密码
userdel -r 用户名    作用:删除用户        说明:-r 选项会自动删除用户家目录
cat/etc/passwd | grep 用户名    作用:确认用户信息    说明:新建用户后,用户信息会保存在/etc/passwd文件中

查看用户信息
id 用户名    作用:查看用户UID和GID信息    UID(用户标识) GID(组标识)
who        作用:查看当前所有登录的用户列表
whoami        作用:查看当前登录用户的账户名

usermod 
usermod 可以用来设置用户的主组/附加组和登录Shell。
主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

修改用户的主组(passwd 中的 GID)
usermod -g 组名 用户名
修改用户的附加组
usermod -G 组名 用户名
修改用户登录 Shell
usermod -s /bin/bash
Shell 即为终端窗口 

which 命令
/etc/passwd 是用于保存用户信息的文件
/usr/bin/passwd 是用于修改用户密码的程序
 which ls 显示出which后面所跟着的文件/目录所在的具体位置

/bin (binary) 是二进制执行文件目录,主要用于具体应用
/sbin (system binary) 是系统管理员专用的二进制代码存放目录,主要用于系统管理
/usr/bin (user commands for applications) 后期安装的一些软件
/usr/sbin (super user commands for applications) 超级用户的一些管理程序 

切换用户
su -用户名    作用:切换用户,并且切换目录    说明:- 可以切换到用户家目录,否则保持地位不变
exit        作用:推出当前登录账户

修改文件权限
chown    作用:修改拥有者
chgrp    作用:修改组
chmod    作用:修改权限
命令格式入下:
#修改文件|目录的拥有者
chown 用户名 文件名|目录名
#递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
#递归修改文件权限
chmod -R 755 文件名|目录名  7 表示拥有者权限 5 表示组用户权限 5 表示其他用户权限

拥有者        组        其他
r w x        r w x        r w x 
4 2 1        4 2 1        4 2 1

4 2 1        7        rwx
4 2 0        6        rw-
4 0 1        5        r-x
4 0 0        4        r--
0 2 1        3        -wx
0 2 0        2        -w-
0 0 1        1        --x
0 0 0        0        ---

常见数字组合有(u代表用户/g代表组/o代表其他)
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=r-x,o=r-x
644 ===> u=rw-,g=r--,o=r--

系统信息相关命令
时间和日期:
date    查看系统时间
cal    calendar查看日历,-y选项可以查看一年的日历
磁盘和目录空间:
df -h    disk free显示磁盘空间
du -h 【目录名】    disk usage 显示目录下的文件大小
-h    含义:以人性化的方式显示文件大小
进程信息:
ps    ps aux    作用:process status 查看进程的详细状况
top    作用:动态显示运行中的进程并且排序
kill    kill [-9] 进程代号    作用:终止指定代号的进程,-9 表示强行终止
(使用kill命令时,最好终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃

ps 默认只会显示当前用户通过终端启动的应用程序

ps选项说明功能
a    含义:显示终端上的所有进程,包括其他用户的进程
u    含义:显示进程的详细状态
x    含义:显示没有控制终端的进程

其他命令
查找文件:
find
软链接:
ln
打包和压缩:
tar
软件安装:
apt-get

查找文件
find [路径] -name "扩展名"    作用:查找指定路径下的扩展名,包括子目录 
(如果省略路径,表示在当前文件夹下查找)

软链接
ln -s 被链接的源文件/链接文件    作用:建立文件的软链接,用通俗的方式讲类似于windows下的快捷方式
注意:
没有-s选项建立的是一个硬链接文件
两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用

移动文件命令
mv 【文件名/目录名】 要移动到的目标路径

硬链接简介
在使用ln创建链接时,如果没有-s选项,会创建一个硬链接,而不是软链接

打包压缩
Windows 常用 rar
mac 常用 zip
linux 常用 tar.gz

打包/解包
tar 是 linux中常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
tar 的命令格式:
#打包文件
tar -cvf 打包文件名.tar  被打包的文件/路径...
#解包文件
tar -xvf 打包文件.tar
tar 选项说明
c    含义:生成档案文件,创建打包文件
x    含义:解开档案文件
v    含义:列出归档解档的详细过程,显示进度
f    含义:指定档案文件名称,f后面一定是.tar文件,所以必须放在选项最后

压缩文件/解压缩文件
1. gzip
tar 与 gzip 命令结合可以使用实现文件打包和压缩
    tar 只负责打包文件,但不压缩
    用gzip 压缩tar打包后的文件,其扩展名一般用xxx.tar.gz
在linux中,最常见的压缩文件格式就是xxx.tar.gz
在tar命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能
命令格式:
#压缩文件
tar -zcvf 打包文件名.tar.gz 被压缩的文件/路径...
#解压缩文件
tar -zxvf 打包文件名.tar.gz
#解压缩到指定路径
tar -zxvf 打包文件名.tar.gz -C 目标路径
(-C    含义:解压缩到指定目录,注意:要解压缩的目录必须存在

bzip
tar与bzip命令结合可以使用实现文件打包和压缩。用法和gzip一样
    tar只负责打包文件,但不压缩。
    用bzip2压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
    在tar命令中有一个选项-j可以调用bzip2,从而可以方便的实现压缩和解压缩的功能
命令格式:
#压缩文件
tar -jcvf 打包文件名.tar.bz2 被解压缩的文件/路径...
#解压缩文件
tar -jxvf 打包文件名.tar.bz2

软件安装
apt是Advanced Packagiing Tool,是Linux下的一款安装包管理工具
#安装软件
$ sudo apt install 软件包名
#卸载软件
$ sudo apt remove 软件名名
#更新已安装的包
$ sudo apt upgrade
相关文章
|
6月前
|
Linux 应用服务中间件 Apache
Linux Apache服务详解——Apache服务基础知识
Linux Apache服务详解——Apache服务基础知识
108 2
|
6月前
|
域名解析 缓存 网络协议
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS基础知识
205 1
|
6月前
|
Linux 芯片
Linux 驱动开发基础知识——认识LED驱动程序 (二)
Linux 驱动开发基础知识——认识LED驱动程序 (二)
81 0
Linux 驱动开发基础知识——认识LED驱动程序 (二)
|
6月前
|
传感器 Linux 开发工具
Linux应用开发基础知识——I2C应用编程(十三)
Linux应用开发基础知识——I2C应用编程(十三)
280 0
Linux应用开发基础知识——I2C应用编程(十三)
|
5月前
|
Linux 芯片
Linux 驱动开发基础知识——查询方式的按键驱动程序_编写框架(十三)
Linux 驱动开发基础知识——查询方式的按键驱动程序_编写框架(十三)
63 2
|
6月前
|
Linux Windows 编译器
|
6月前
|
网络协议 Linux 网络架构
|
6月前
|
运维 监控 Unix
【专栏】Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。
【4月更文挑战第28天】本文概述了Linux系统管理员面试中的常见问题,涵盖基础知识、系统管理和故障排查。面试官会询问Linux与Unix的关系、内核功能、文件系统类型、权限位、用户组概念、链接类型、输入输出、进程和环境变量等。此外,还会涉及软件安装、服务配置、日志监控、网络管理、防火墙配置、LVM、RAID、用户管理、备份策略等实践技能。故障排查和脚本编程能力也是重点,包括系统故障分析、脚本在系统管理中的应用、磁盘空间管理、服务故障诊断及性能优化。准备面试的求职者应注重理论与实践经验的结合,持续学习以提升专业能力。
50 0
|
6月前
|
运维 网络协议 安全
Linux vsFTPd服务详解——vsFTPd基础知识
Linux vsFTPd服务详解——vsFTPd基础知识
83 4
|
6月前
|
Ubuntu Linux 芯片
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)
243 1
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)