计算机由硬件和软件构成
硬件的五大部件:
-运算器
-控制器
(运算器+控制器 = 中央处理器(CPU))
-存储器 - 内存(RAM)(易失性存储器)
-输入设备 -|
-输出设备 -| IO设备
软件的两大类别:
- 系统软件 - 操作系统(内核+工具程序)
- 应用软件
Linux系统的内核是Free的 (www.kernel.org可以拿到Linux内核)(org非盈利组织)(com盈利的)
Linux系统最早的内核是由Linus开发的,现在也是由他在管理和维护这个系统的内核版本
除了Windows系统,其他系统几乎都是Unix的衍生品
类Unix操作系统
Unix - MINIX - Linux - Android
Unix - BSD - FreeBSD - Macintosh - macOS - iOS
Unix - Solaris
- IBM -AIX
- HP - Hp Unix
Shell - 壳程序 - 人机交互的界面(人和计算机对话的窗口)
Shell中的工具和命令:
who - 查看登录信息
who am i - 查看自己的登录信息
whoami - 查看自己的用户名
last - 查看最近的登录记录
clear - 清除屏幕上的输出
cal - 查看日历(calendar)
cal 2 2019 / cal 2019 - 查看指定年月的日历
date - 查看日期
useradd yuxiaoyu - 创建一个yuxiaoyu的账户
userdel 用户名 - 删除一个用户
passwd yuxiaoyu - 更改yuxiaoyu账户的用户口令
#
是超级管理员,$是普通用户
logout - 登出
exit - 退出登录
su - 切换用户(switch user)
su root - 切换到root用户
切换用户使用exit会退出到之前的用户
超级管理员切换到普通用户不需要密码
reboot / init 6 - 重启
shutdown / init 0 - 关机
init 5 - 初始化图形化界面(如果有)
shutdown 10 - 10分钟后关机
shutdown -c - 取消关机
shutdown -r - 重启
shutdown now - 马上关机
write 用户名 - 给某个用户发信息
Ctrl + d - 结束输入
wall - 给所有人发送广播消息
mesg y/n - 是否接收别人发送的消息
pwd - 打印当前工作目录(print working directory) /root为超级管理员的用户组目录
/home/yuxiaoyu (yuxiaoyu普通用户的用户目录)
cd - (change directory)改变目录
cd / - 去到根目录
cd /proc - 从根目录开始的绝对路径
cd proc - 以当前路径为基准的相对路径
cd .. - 回到上一级目录
cd . - 当前目录
cd ~ - 当前用户的用户组目录
ls - (list directory contents)查看目录下的文件
ls -a -- (all)查看当前目录下面所有文件和文件夹(包括隐藏的,以.开头的是隐藏的)
ls -a -l -- (long)长格式查看,前面是d的是文件夹,是-的是文件。
权限,连接数,用户名,用户组
ls -al / -- 根目录长格式查看
ls -l /etc -- etc目录长格式查看,不看隐藏
ls -lR /etc -- 加R是递归式查看,遇到文件夹就继续查看
ls -r -- 反向排列
ls -S -- 按照文件大小排序
ls -s -- 打印文件大小
etc放了系统中比较重要的配置文件(extro configue)
media mnt - 外接存储设备挂摘(U盘)
proc - 正在运行的进程对应的文件
cat - (concatenate连结)查看文件内容cat /etc/centos-release
可以用Tab键补全命令和文件名,双击命令可以看全部命令,q退出查看所有命令
1bit - 8*1bit -> 1Byte
1024B -> 1KB
1024KB -> 1MB
1024MB -> 1GB
1024GB -> 1TB
1024TB -> 1PB
usr是用户安装软件的目录,软件默认在usr/local下面,usr/share装程序的数据
Ctrl + C (快捷键)中断程序的执行
man - 文档手册(manual)
man ls - ls命令对应的文档说明
命令 --help - 查看命令的帮助
whatis 命令 - 对命令进行说明
mkdir 文件夹名 - 创建文件夹(make directory)
rmdir 文件夹名 - 删除文件夹(remove empty directory)(只能删除空文件夹)
mkdir -p abc/hello - 创建abc以及abc里面的hello文件夹(-p为parent)
touch 文件名 - 创建一个空文件
echo 内容 > 文件名 - 将内容重定向到指定文件( >是输出重定向)
wget https://www.sohu.com/index.html - 联网获取文件,为下载的搜狐首页
cat -n index.html - 带行号查看获取到的首页文件
rm 文件名 - 删除指定文件(需要输入y/n进行确认)
rm -f 文件名 - 强制删除指定文件
rm -rf 目录名 - 递归强制删除文件夹名
alias rm='rm -f' - alias是别名命令,将rm -f 别名为rm
unalias rm - 取消rm的别名,取消后要恢复系统默认设置需要重新登入
history - 历史命令记录
!历史命令编号 - 再次执行第几条历史命令(配合history使用)
\!
- 对感叹号进行转义
cp 文件名 新文件名 - 拷贝文件,并命名为新文件名
cp 文件名 文件路径/新文件名 - 拷贝文件到指定路径
cp -r 目录名 新目录名 - 递归拷贝文件夹为新文件夹
mv - 移动文件或者文件夹
mv 文件名 文件路径/新文件名 - 剪切文件到新目录
如果在同一个目录移动,相当于是重命名
操作文件:
cat
less / more - 分屏查看,空格换页,回车换行
head / tail - 查看文件前面/后面
head -5 index.html - 查看首页前5行
wc 文件名 - 对文件行数 单词数 字符数进行统计
wc -l(行数) / -w(单词数) 文件名
sort 文件名 - 对文件内容排序
sort index.html | head -10
sort -r index.html - 反序排序
sort不会改变源文件
uniq 文件名 - 对文件中相邻的重复内容去重
| - 管道,连接两个进程(命令),将上一个进程的输出,作为下一个进程的输入
sort index.html | uniq - 排序并去重
sort index.html | uniq | > index2.html - 排序去重并存到新文件中(覆盖)
sort index.html | uniq | >> index2.html - 排序去重并存到新文件中(追加)
>
输出重定向, >>
追加输出重定向, 2>
错误输出重定向(只有报错的信息输出到重定向文件中)
ls -R / > ok.txt 2> error.txt (普通用户登录时) - 将正确的信息输入到ok.txt,错误信息输出到error.txt
ctrl + w (快捷键)敲命令时删除输入的一段内容
gzip / gunzip 压缩/解压缩
xz -z / -d 压缩/解压缩
tar是Linux系统下的归档文件(将多个文件合成一个文件)(相当于window下的rar文件)
tar -xvf 归档文件的名字 - 解归档, v是否有中间过程,f指定文件名
tar -cvf 归档后文件的名字 ./*(将当前路径所有文件归档) / 要归档的文件名 - 生成归档文件
CPython -Python解释器是用C语言实现的
Jython - Python解释器是用Java语言实现的
IronPython - Python解释器使用C#语言实现的
PyPy - Python解释器是用Python语言实现的(即时编译,性能最好的)
Redis - NoSQL(官方下源代码,最新版的) https://redis.io
《鸟哥的Linux私房菜》