Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统,以下记录了学习Linux过程中的笔记.

简述

Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机.

版本

Linux的版本分为两种:内核版本和发行版本。
内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。
发行版本是一些组织和公司根据自己发行版的不同而自定的。

安装

在VMware中安装Linux——CentOs系统
1.准备好CentOs的iso文件,安装好VMware
2.打开VMware,新建一个虚拟机
3.稍后安装操作系统
4.选择客户及操作系统Linux,版本为CentOs
5.输入虚拟机名称,选择该虚拟主机的安装位置(所有文件都将放在这个文件夹)
6.设置该虚拟机的磁盘大小(10~20G即可),选择拆分磁盘
7.自定义硬件,配置该系统内存大小(2G即可),选择iso文件,其它默认
8.启动该虚拟主机,选择第一个开始安装系统
9.选择skip跳过,媒体设备检测
10.选择简体中文版
11.选择美国英语式键盘
12.选择安装基本存储设备
13.选择忽略所有数据
14.输入该虚拟主机的主机名,配置网络,双击网卡,勾选自动连接
15.选择时区上海
16.输入根用户密码
17.选择替换现有Linux系统方式安装
18.选择将修改写入磁盘
19.选择安装Basic Server
20.等待安装完成即可

远程连接Linux

通过SecureCRT远程连接Linux,实现在本地windows操作Linux
1.安装SecureCRT
2.打开SecureCRT,选择快速连接
3.输入主机名(在Linux中使用ifconfig得到的ip地址)
4.输入用户名(一般使用超级管理员root)
5.输入对应用户密码
6.完成连接

Linux的目录结构


bin:存放二进制可执行文件
sbin:存放二进制可执行文件,只有root能访问
etc:存放系统配置文件
user:用于存放共享的系统资源
home:存放用户文件的根目录
root:超级用户目录
dev:用于存放设备文件
lib:存放跟文件系统中的程序运行所需的共享库及内核模块
mnt:系统管理员安装临时文件的安装点
boot:存放用于系统引导时的各种文件
tmp:用于存放各种临时文件
var:用于存放运行时需要改变数据的文件

常用命令

切换目录(掌握)

cd app:切换到app目录
cd ..:切换到上一层目录
cd /:切换到系统根目录
cd ~:切换到用户主目录
cd -:切换到上一个所在目录

查看帮助(掌握)

man 命令 :查看“命令”的帮助
空格:翻页
q:退出帮助

目录操作(掌握)

mkdir(make directory) 创建子目录命令
mkdir a:在当前目录下创建a目录
mkdir -p a/b/c:在当前目录级联创建a/b/c目录

rmdir(remove directory)删除“空”的子目录
rmdir a:删除a目录

文件列表(掌握)

ls(list) 显示当前目录下的内容
ls:显示能看见的文件(和目录)的名称
ls -a:显示所有的文件名称,文件前面有“.”代表隐藏文件
ls -l:显示文件的详细信息(简写方式:ll)
ll -h:友好的显示

浏览文件(掌握)

cat 在当前屏幕显示文件的全部内容(不推荐)
cat 文件

more 一般用于显示的内容会超过一个屏幕的文件(不推荐)
more 文件(空格显示下一页,回车显示下一行,q退出)

less 和more类似,但更易于控制翻页
less 文件(PgUp上一页,PgDn下一页)

tail 显示文件后几行的内容
tail -10 文件:查看该文件后十行内容
tail -f 文件:动态查看(常用于动态查看日志)
ctrl+c:结束动态查看

文件操作(掌握)

touch 创建一个空白的文件
touch 文件名

cp(copy) 复制一个文件
cp a.txt b.txt:将a.txt复制并重命名为b.txt
cp a.txt a/c.txt:将a.txt复制到a目录并重命名为c.txt
cp -r dir1 dir2:将dir1目录及其子目录全复制到dir2中

mv(move) 移动一个文件
mv a.txt b.txt:相当于重命名
mv a.txt a/b:将a.txt移动到a目录下的b目录

rm(remove)删除一个文件
rm a.txt 带询问的删除a.txt
rm -f a.txt 不带询问,直接删除a.txt
rm -r a 带询问的递归删除
rm -rf a 不带询问的递归删除(慎用!)
rm -rf ./ 直接删除当前目录(慎用!!)
rm -rf /
直接删除根目录(GG!!!!!)

rename 重命名文件
实例:将当前文件所有以.repo为后缀的文件重命名为.repo.bak后缀
rename .repo .repo.bak *

tar(打包或解压一个文件或目录—-常用)
常用的组合参数:
-cvf:打包一个文件或目录
-zcvf:打包并压缩一个文件或目录(压缩的格式为.gzip)
-xvf:解压或打开一个tar文件

命令格式:
tar 参数 文件名 要打包的文件或目录

示例:
将当前目录下的所有文件打包成1.tar
tar -cvf 1.tar ./
将当前目录下的所有文件解压并压缩为2.tar.gz
tar -zcvf 2.tar.gz ./

将1.tar解压到当前目录
tar -xvf 1.tar
将1.tar解压到b目录
tar -xvf 1.tar -C b

其他常用命令(掌握)

grep(查找符合条件的字符串—-常用)
grep hello 1.txt:在1.txt文件中查找hello
grep hello 1.txt –color:在1.txt文件中查找hello并高亮显示
grep hello 1.txt –color -A5:在1.txt文件中查找hello并高亮显示,只显示hello的后5行
grep hello 1.txt –color -B5:在1.txt文件中查找hello并高亮显示,只显示hello的前5行

pwd(显示当前所在目录)
pwd

wget(下载资料)
wget www.bilibili.com:下载指定文件,这里下载到的是b站的index.html文件

ifconfig(查看ip地址)
ifconfig

reboot(普通重启)

poweroff(立刻关机)

Vi和Vim编辑器(了解)

既可以查看文件也可以编辑文件,两者区别不大,vi代码不变色,vim代码会变色。

三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、o、a键;
i:在当前的光标所在处插入
o:在当前光标所在的行的下一行插入
a:在光标所在的下一个字符插入
切换到底行模式:按 :(冒号)

一般流程:
打开文件:vim file
不保存退出:esc:q!
修改文件:输入i进入插入模式
保存并退出:esc:wq

快捷键(在命令模式时使用):
yy:复制当前行
p:粘贴到当前行
dd:快速删除当前行
d+←/→:删除左边一个或右边一个
R:替换一个

重定向输出(了解)

>:重定向输出,覆盖原有内容
>>:重定向输出,追加内容

示例:
ifconfig > a.txt 将输出定向到a.txt
ifconfig >> a.txt 将输出追加到a.txt

&&命令(掌握)

命令之间使用&&连接,实现逻辑与的功能
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
示例:
mkdir -p a/b/c && cd a/b/c && touch 1.txt

|管道(掌握)

将一个命令的输出用作另一个命令的输入。
示例:
在ifconfig的输出里寻找192.168字符串
ifconfig | grep 192.168
查找和java相关的进程
ps -ef | grep java
查找和3306相关的信息
ps -ef | grep 3306

系统管理命令(掌握)

date (显示或设置系统时间)
date 显示当前系统时间
date -s “2014-01-01 10:10:10” 设置系统时间

df (显示磁盘信息)
df 显示磁盘信息
df –h 友好显示大小

free (显示内存状态)
free 显示内存信息
free –m 以mb单位显示内存信息

top (显示,管理执行中的程序)
top

clear 清屏幕 (ctrl+l)

ps (正在运行的某个进程的状态)
ps –ef 查看所有进程
ps –ef | grep ssh 查找某一进程 kill 杀掉某一进程

kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程

du(显示目录或文件的大小)
du –h 显示当前目录的大小

who(显示目前登入系统的用户信息)
who 显示目前登入系统的用户信息

hostname (查看当前主机名)
hostname 查看当前主机名
修改:vi /etc/sysconfig/network

uname (显示系统信息)
uname -a 显示本机详细信息。
依次为:内核名称,主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称。

网络通讯命令

ifconfig (显示或设置网络设备)
ifconfig 显示网络设备
ifconfig eth0 up 启用eth0网卡
ifconfig eth0 down 停用eth0网卡

ping (持续探测网络是否通畅,ctrl+c终止)
ping 192.168.0.1

netstat (查看网络端口)
netstat -an | grep 3306 查询3306端口占用情况

Linux的用户和组(了解)

用户管理

useradd (添加一个用户)
useradd test 添加test用户
useradd test -d /home/t1 指定用户home目录
passwd (设置、修改密码)
passwd test 为test用户设置密码

切换登录:(ssh -l 用户名 -p 22 主机ip)或(su - 用户名)
示例:
ssh -l test -p 22 192.168.19.128
su – test

exit(退出当前用户)
exit 退出当前用户,返回root用户

userdel (删除一个用户)
userdel test 删除test用户(不会删除home目录)
userdel –r test 删除用户以及home目录

组管理

当在创建一个新用户user时,若没有指定他所属于的组,默认建立一个和该用户同名的私有组
groupadd (创建组)
groupadd public 创建一个名为public的组
useradd u1 –g public 创建用户指定组
groupdel (删除组,如果该组有用户成员,必须先删除用户才能删除组)
groupdel public

Linux的权限命令(了解)

Linux三种文件类型

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件: Linux系统把每一个设备都看成是一个文件

通过ll展示的列表:
以 d 开始的是目录文件
以 - 开始的是普通文件

文件的权限

文件的权限由9个字母组成,三个三个一组
第一组代表的是当前用户的权限
第二组代表的是组的权限
第三组代表的是其他用户的权限

r:读 4
w:写 2
x:执行 1

chmod (变更文件或目录的权限)
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt
chmod 000 a.txt (超级管理员依旧可以对它进行操作)
★chmod 777 a.txt

chown (变更文件或目录改文件所属用户和组)
chown 用户:组 文件
chown 用户名:组名 a.txt :变更当前的目录或文件的所属用户和组
chown -R 用户名:组名 dir :变更目录中的所有的子目录及文件的所属用户和组

最后更新: 2020年07月27日 03:43

原始链接: https://www.lousenjay.top/2018/05/19/Linux学习笔记(CentOS)/