Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.
CentOS学习
1. 背景历史
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.
2. 应用
- 服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
- 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
- 高性能运算、计算密集型应用Linux有强大的运算能力。
- 桌面应用系统
- 移动手持系统
3. 版本
- 内核版本:Linus领导下的内核小组开发维护的系统内核的版本号
- 发行版本:
4.目录结构
/ :根目录
目录名称 全名 描述 bin binaries 二进制可执行文件 boot 系统引导时使用的各种文件 dev devices 设备文件 etc ectetera 系统配置文件 home 用户文件根目录 lib library 跟文件系统中的程序运行需要的共享库以及内核模块 sbin super user binaries root才能访问的二进制可执行文件 usr Unix shared resources 存放共享的系统资源 var variable 用于存放运行时需要改变数据的文件 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20lrwxrwxrwx. 1 root root 7 Aug 18 2017 bin -> usr/bin # bin目录
dr-xr-xr-x. 4 root root 4096 Sep 12 2017 boot # boot目录
drwxr-xr-x 19 root root 2960 Sep 27 22:01 dev # dev目录
drwxr-xr-x. 82 root root 4096 Sep 28 06:01 etc # etc目录
drwxr-xr-x. 3 root root 4096 Sep 27 16:12 home # home目录
lrwxrwxrwx. 1 root root 7 Aug 18 2017 lib -> usr/lib # lib目录
lrwxrwxrwx. 1 root root 9 Aug 18 2017 lib64 -> usr/lib64 # lib64
drwx------. 2 root root 16384 Aug 18 2017 lost+found
drwxr-xr-x. 2 root root 4096 Nov 5 2016 media
drwxr-xr-x. 2 root root 4096 Nov 5 2016 mnt
drwxr-xr-x. 2 root root 4096 Nov 5 2016 opt
dr-xr-xr-x 74 root root 0 Sep 27 22:01 proc
dr-xr-x---. 6 root root 4096 Sep 5 2017 root
drwxr-xr-x 21 root root 580 Sep 27 22:01 run
lrwxrwxrwx. 1 root root 8 Aug 18 2017 sbin -> usr/sbin # root的bin目录
drwxr-xr-x. 2 root root 4096 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Sep 28 06:01 sys
drwxrwxrwt. 11 root root 4096 Sep 29 03:40 tmp # 临时文件
drwxr-xr-x. 13 root root 4096 Aug 18 2017 usr # 存放共享的系统资源
drwxr-xr-x. 19 root root 4096 Sep 28 06:01 var # 用于存放运行时需要改变数据的文件
4. 常用命令
切换命令:cd
1
2cd .. # 切换到上一层目录
cd ~ # 切换到系统根目录列出文件列表:ls
1
2
3ls # 列出文件
ls -a # 显示所有文件和目录(包含隐藏)
ls -l # 缩写成ll
创建目录(mkdir)和移除目录(rmdir)
1
2
3mkdir [dirname] # 创建文件夹
rmdir [dirname] # 移除文件夹
rmdir -p dir1/dir2 # 移除两级文件夹
浏览文件
1
2
3
4
5
6
7
8
9
10cat # 用于显示文件的内容
more # 用于显示的内容超过一个画面长度的情况下使用。空格键显示下一个界面。回车显示下一行内容。
less # 和more类似,不同的是less可以通过PgUp、PgDn控制
tail # 显示文件后几行的内容
tail -10 /etc/passwd # 查看后10行数据
tail -f catalina.log # 动态查看日志
ctrl + c # 结束查看
文件操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30rm # 删除文件
rm a.txt # 删除a.txt 文件
rm -f a.txt # 不询问直接删除
rm -f a # 不询问,递归删除文件【慎用】
rm -rf a # 不询问,递归删除文件夹
rm -rf * # 删除所有文件
rm -rf /* # 自杀
cp a.txt b.txt # 将a.txt复制为b.txt文件
cp a.txt ../ # 将文件复制到上一级目录
mv a.txt ../ # 将a.txt文件移动到上一层目录中
mv a.txt b.txt # 将a.txt重命名为b.txt
tar # 打包或解压
tar -cvf xxx.tar ./* # 打包
tar -zcvf xxx.tar.gz ./* # 打包并且压缩
tar -xvf xxx.tar # 解压
tar -zxvf xxx.tar.gz -C /user/aaa # 解压到指定目录
find # 查找符合条件的文件
find / -name "ins*" # 查找文件名称是以ins开头的文件
find / -name "ins*" -ls
find / -user tobing -ls # 查找用户itcast的目录
find / -user tobing -type d -ls # 查找用户tobing的目录
find / -prem -777 -type d -ls # 查找权限为777的文件
grep # 查找文件【内】符合条件的字符串
grep java anacoda-ks.cfg # 在文件中找java
grep java anacoda-ks.cfg -color # 高亮显示
其他常用命令
1
2
3pwd # 查看当前所在目录
touch # 创建一个空文件
clear # 清屏 ==> crtl + L
5.vi和vim
三种模式
- 命令模式:用户
刚刚启动 vi/vim
,便进入了命令模式
。此时输入的字符会被当做命令执行 - 输入模式:和普通的windows平台的记事本一样编辑,按
Esc
可以退出该模式 - 底行模式(底线命令行模式):
- q :退出程序
- w :保存文件
- 按ESC键可随时退出底线命令模式。
- 命令模式:用户
变换
切换到命令行:Esc
切换到插入模式:i、o、a键
字母 功能 i(小写) 当前位置前插入 I(大写) 当前行首插入 a 当前位置插入 A 当前行尾插入 o 当前行之后插入一行 O 当前行之前插入一行
vi的日常使用
- 在命令行输入:
vi [要编辑文件名]
进入命令模式 - 输入
i
进入插入模式,在此状态下可以像普通编辑器一样编辑 - 修改完毕之后,按
Esc
键, 退出输入模式,进入底行模式。 - 输入
:wq
保存退出
6. 重定向 >> 和 >
1 | [root@root ~]# echo Hello Linux > a.txt # 将echo输出的内容通到a.txt文件中 |
7. 进程管理:ps 和 kill
ps:查看进程
kill:杀死进程
1
2
3
4
5
6
7[root@root /]# ps -ef # 查看所有的进程
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 05:53 ? 00:00:01 /sbin/init
root 2 0 0 05:53 ? 00:00:00 [kthreadd]
root 3 2 0 05:53 ? 00:00:00 [migration/0]
....
[root@root /]# kill -9 2868 # -9 :强制杀死指定PID进程
8. 管道 |
将一个命令的输出用作另一个命令的输入
1
2
3
4
5
6
7
8
9
10[root@root /]# ls -alh | more # 将ls输出的内容用more的模式来展示
total 106K
dr-xr-xr-x. 24 root root 4.0K Oct 3 05:53 .
dr-xr-xr-x. 24 root root 4.0K Oct 3 05:53 ..
-rw-r--r--. 1 root root 0 Oct 3 05:53 .autofsck
......
[root@root /]# ps -ef | grep bash # 将ps输出的内容放到grep中搜索
root 3665 3663 0 05:58 pts/0 00:00:00 /bin/bash
root 3729 3724 0 06:01 pts/1 00:00:00 -bash
root 3842 3729 0 06:16 pts/1 00:00:00 grep bash9. Linux权限
1
2
3
4
5
6
7
8drwxr-xr-x. 2 root root 4.0K Oct 30 2018 profile.d
-rw-r--r--. 1 root root 6.4K Jan 12 2010 protocols
lrwxrwxrwx. 1 root root 7 Oct 30 2018 rc -> rc.d/rc
# xuuugggooo.
# 将a.txt的权限修改为用户可读可写可执行,组可读可执行,其他可执行
[root@root etc]# chmod u=rwx,g=rx,o=rx a.txt
# 将b.txt的权限修饰为 u=rxw,g=rx,o=x
[root@root etc]# chmod 755 b.txtx:文件类型
- d:文件
- -:文件夹
- l:超链接
u:用户权限
g:组权限
o:其他用户权限
- r:读权限 —- 4
- w:写权限 —- 2
- x:可执行权限 —- 1
10. 网络相关
1. 主机名配置
1
2
3
4
5
6[root@root /]# hostname # 查看主机名
tobing
[root@root /]# hostname admin # 修改主机名为admin(临时修改)
[root@root /]# hostname
admin
[root@root /]# vi /etc/sysconfig/network # 持久化修改主机名
2.IP地址配置
1 | [root@root /]# ifconfig # 查看当前ip配置 |
3. 域名映射
1 | [root@root /]# vi /etc/hosts |
4. 网络服务管理
1 | service network status # 查看指定服务的状态 |
总结
- 对CentOS仍处于入门级别的使用
- 很多问题仍然需要百度
- 写此文章是为了记忆常用命令