一、Linux的发展

Linux发展与Unix,而Unix的起始元年为1970年,看图可以发现,Unix的发展中也有一个分支是BSD,OS系统就是发展于BSD,所以之前出现的苹果手机将时间设置为1970年1月1日之前的时间会使手机变砖,因为系统算的就是从1970年到现在时间所经历的时间。
二、Linux的体系架构
Linux系统分为从内到外分为硬件层、内核层(Kernel)、shell层和最外面的用户层,硬件层就是各种硬件,内核层有进程管理、内存管理、文件系统、设备管理、网络管理五个部分,shell层起保护内核和过滤作用,用户通过应用层调用C库通过shell层调用API经过内核的调度驱动硬件完成一定功能。
三、文本编辑器vi的使用
Linux支持的文本编辑器有许多,在这里重点推荐vi,vi是Linux中最基本的编辑器,功能强大,熟练后会发现vi是最好用的一种文本编辑器。
vi的模式有三种:命令模式、底行模式、插入模式。进入vi是是命令模式,按:或/就会进入底行模式,在命令模式下,按insert或者i,a等就会进入插入模式,再此模式下就可以对文本进行编辑。
四、在ubuntu中安装包
1、我们可以从许多网站中下载Linux软件包,例如搜狗拼音、wps等,我们要是用的是*.deb格式的软件包。在ubuntu中我们可以使用dpkg来实现软件包的安装、编译、卸载、查询。
dpkg命令的使用:
dpkg -l 查看当前系统中已经安装的软件包的信息
dpkg -L (软件包名称)查看系统中已经安装的软件文件的详细列表
dpkg -s 查看已经安装的指定软件包的详细信息
dpkg -S 查看系统中的某个文件属于那个软件包;
dpkg -i *.deb文件的安装
dpkg -r *.deb文件的卸载;
dpkg -P 彻底的卸载 包括软件的配置文件等等
查看没有安装的deb包命令
dpkg -c 查询deb包文件中所包含的文件 rpm -qlp 
dpkg -I 查询deb包的详细信息
最常用的当然是-i和-r了,如果想删除配置文件就要使用-P了!
2、有本地的安装,也有在线安装的选项:APT系列工具,但只能安装官方的软件,ubuntu将所有的开发软件放在Internet上的许许多多镜像站上,用户可以选择其中最适合自己的站点作为软件源。
apt-get用法:
apt-get [选项] install(安装软件包)或者remove(卸载软件包)pkg1 [pkg2 ...]
apt-get [选项] source pkg1 [pkg2 ...]
apt-get 是一个下载安装软件包的简单命令行接口。 最常用的命令是 update(更新) 和install(安 装)。
命令:
update - 重新获取软件包列表
upgrade - 进行更新
install - 安装新的软件包
remove - 移除软件包
autoremove - 自动移除全部不使用的软件包
purge - 移除软件包和配置文件
source - 下载源码档案
build-dep - 为源码包配置编译依赖
dist-upgrade - 发行版升级
dselect-upgrade - 依照 dselect 的选择更新
clean - 清除下载的归档文件
autoclean - 清除旧的的已下载的归档文件
check - 检验是否有损坏的依赖
选项:
-h 本帮助文件。
-q 输出到日志 - 无进展指示
-qq 不输出信息,错误除外
-d 仅下载 - 不安装或解压归档文件
-s 不实际安装。模拟执行命令
-y 假定对所有的询问选是,不提示
-f 尝试修正系统依赖损坏处
-m 如果归档无法定位,尝试继续
-u 同时显示更新软件包的列表
-b 获取源码包后编译 -V 显示详细的版本号
apt-get 常用实例
apt-cache search packagename 搜索包
apt-cache show packagename 获取包的相关信息,如说明、大小、版本等
apt-get install packagename 安装包
apt-get install packagename --reinstall 重新安装包
apt-get -f install 修复安装”-f = –fix-missing”
apt-get remove packagename 删除包
apt-get remove packagename --purge 删除包,包括删除配置文件等
apt-get update 更新源
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends packagename 了解使用依赖
apt-cache rdepends packagename 是查看该包被哪些包依赖
apt-get build-dep packagename 安装相关的编译环境
apt-get source packagename 下载该包的源代码
apt-get clean 清理无用的包
apt-get autoclean 清理无用的包
apt-get check 检查是否有损坏的依赖
其实用的比较多的是(这里以Linux上很有名的开源播放器VLC为例)
sudo apt-get install vlc
sudo apt-get remove vlc
apt-get update 更新源
apt-get upgrade 更新已安装的包
APT涉及到的三个地址
/etc/apt/sources.list 镜像地址/服务器地址
/var/lib/apt/lists/ 本地索引文件文件夹update
/var/cache/apt/archives/ apt工具从服务器下载的安装包的位置
五、shell的基本命令
英文单词shell可译为“贝壳”,在Linux中shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。命令是用户向系统内核发出控制请求,将用户命令解析为操作系统所能理解的指令。shell是一个命令行解释器。
shell执行过程:
Step1: 用户输入shell命令
Step2: shell去解释内核所能理解的二进制指令
Step3: 内核响应(调用驱动代码),控制相关硬件
Step4: Shell将内核返回的结果展示给用户。
shell基本命令:
1、ls命令
功能:显示文件和目录的信息
ls 以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)
ls -lt 显示文件,按照修改时间排序
ls -F 在列出的文件名和目录名后添加标志。例如,在可执行文件后添加“*”,在目录名后添加“/”以区分不同的类型。
2、cd命令
功能:改名目录
cd dir 切换到当前目录下的dir目录
cd / 切换到根目录
cd .. 切换到到上一级目录
cd ../.. 切换到上二级目录
cd ~ 切换到用户目录,比如是root用户,则切换到/root下
3、cp命令
功能:copy文件
cp source target 将文件source复制为target
cp /root /source . 将/root下的文件source复制到当前目录
cp –av soure_dir target_dir 将整个目录复制,两目录完全一样
4、rm命令
功能:删除文件或目录
rm file 删除某一个文件
rm -f file 删除时候不进行提示。可以于r参数(递归删除)配合使用
rm -rf dir 删除当前目录下叫dir的整个目录
5、mv命令
功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
mv source target 将文件source更名为target
6、ln命令
功能:建立链接。windows的快捷方式就是根据*inx下的链接的原理来做的
ln source_path target_path 硬连接
ln -s source_path target_path 软连接
7、man命令
功能:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你
8、关闭和重新启动系统命令
reboot   重新启动计算机
shutdown -r now  重新启动计算机,停止服务后重新启动计算机
shutdown -h now  关闭计算机,停止服务后再关闭系统
halt   关闭计算机
一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。
9、su命令
功能:切换用户
su 切换到root用户
su zhoulj 切换到zhoulj用户,
10、sudo命令
功能:临时获取root权限
sudo 命令
11、touch
功能:创建文件、或修改时间戳
12、mkdir
功能:创建文件夹
六、用户管理
1、新增用户
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本
涉及到的文件:/etc/skel 系统从/etc/skel/中复制文件到新建用户工作目录中
2、删除用户
deluser :只删除用户
deluser --remove-home username可删除用户的同时删除用户工作目录
3、修改用户属性
usermod:
-d :修改工作目录
-l :修改用户名
eg:改名的同时更改工作目录
usermod -d /home/newname -m -l newname oldname
4、涉及目录
/etc/passwd
eg:root:x;0;0;root;/root;/bin/bash
用户名:密码占位符:UID:GID:提示符:工作目录:指定的bash
/etc/shadow(密码)
/etc/skel/(新用户标配)
/etc/group
组名:加密口令:GID:成员列表(用”,“隔开)
附:
删除组:delgroup
id <> 查看ID信息
七、进程管理
程序的一次执行就是一个进程,程序执行结束就是结束进程。PID为1是init进程,是所有进程的父进程。
STAT:进程状态
S: 睡眠态,可中断(sleep)
D:睡眠态, 不可中断
R: 运行或可运行
T: 停止 (stop)
Z: 僵尸态
+: 前台进程
N: 低优先级进程
<: 高优先级进程
ps命令
显示进程动态
-A:列出所有进程
-a: 列出当前终端相关的进程
-u:列出用户相关的进程
-x:列出终端无关的进程
-e:所有进程
-ax:所有进程(以用户为中心)
top命令
功能:实时显示系统中各个进程的资源占用状况(就是监视进程状态)
top -d 确定刷新时间
pstree命令
功能:将所有进程以树状显示
kill命令
功能:杀死进程
kill [-信号] PID
信号默认为15
几个重要的信号
1. SIGHUP, 进程不终止而重新读取配置文件,如网络配置文件
2. SIGINT, 中断运行的进程(Ctrl + c);
9. SIGKILL, 发送结束一个进程信号,容易引起文件非正常关闭。
15. SIGTERM: 终止;
19. SIGSTOP; 进程停止(到后台)
手动传送信号:
eg:
kill -信号 PID
kill -SIGKILL 5001
kill -9 5001 发送 SIGKILL信号给PID为2001的进程.
killall -信号 进程名
killall -15 a.out 发送SIGTERM(15)信号给所有的a.out进程
八、Linux文件系统
目前Ext4是Linux系统广泛使用的一种文件格式,NTFS是Windows系统常用的文件格式
1、常用目录:
/bin/ 系统中最常用的二进制可执行文件
/etc/ 系统的所有配置文件
/media 自动挂载文件
/proc/ 文件的进程标号
/usr/bin/ 用户和管理员标准命令
/usr/include/ 标准tinclude文件(头文件)
/usr/share/man/ man手册目录
/var/cache/ 应用程序缓存目录
2、路径表示方法:
相对路径:相对于用户当前目录的位置
绝对路径:文件在文件系统中的准确位置
3、文件权限说明:
ls -l 查看文件的属性
6 6 4 对应8进制
110 110 100 对应二进制
rw- rw- r-- jielun.c 文件权值
| | |
| | 其他用户(既不是所属用户,也不是同组用户)
| 同组用户
所属用户权限
改变权值为 700
111 000 000
7 0 0 文件的权值
chmod 700 jielun.c
文件权限:rwx 可读可写可执行
目录没有r权限时,不可以查看目录里的文件或文件夹的信息。
目录没有w权限时,不可以在目录中添加和删除文件等操作.
目录没有x权限时,没有进入目录的权限
九、压缩与打包
1、Linux中常用压缩工具
压缩工具 解压工具 文件拓展名
gzip gunzip .gz
bzip2 bunzip2 .bz2
zip unzip .zip
gzip压缩率低于bzip2,但压缩时间短,故bzip2常用于网络中。若是用户经常在Linux和Windows见交换文件,建议使用zip,正常情况建议使用gzip。
2、gzip与gunzip
gzip一般语法格式为:
gzip [-l |-d | -num] filename
-l 查看压缩文件内信息
-d将文件解压
-num指定压缩比率,num为1~9个等级
gunzip一般语法格式为:
gunzip [-f] file.gz
3、打包
tar用于将多个文件打包为一个文件
常用格式:
tar [ -t | -x | -u | -c | -v | -f | -j | -z] tarfile filelist
-t 显示文档中的内容
-x 解压缩功能
-u 更新压缩包
-c 建立压缩包
-v 显示过程
-f 指定压缩文件名
-j 由bzip压缩
-z由gzip压缩
我们平常使用-zcvf压缩打包文件,用-zxvf解压文件
常用格式:
tar -zcvf file.gz.tar file1 file2
tar -zxvf file.gz.tar
十、Shell 编程基础
建立一个shell:
Step1:建立 *.sh 文件
sudo vi first.sh
step2:修改文件权限,增加可执行权限
chmod 744 first.sh
chmod +x first.sh
Step3:运行脚本
./first.sh
/bin/bash first.sh
参考链接/http://c.biancheng.net/cpp/shell/ ,这里的非常详细
第一次发博客,如果有错误的地方请多多指正!!!

Linux操作系统的基本使用(ubuntu)相关推荐

  1. 常用Linux操作系统的发展历史

    文件目录 文件权限 特权文件suid,sgid,sbit Linux操作系统 Linux发展史及简介 Linux简单介绍 Linux发展史 Linux族谱 Linux重要人物 Linux与Unix的渊 ...

  2. linux 用pe安装win7系统,在U盘PE上安装Linux操作系统的详细教程

    熟悉安装系统的朋友知道PE可以安装Windows系统,而U盘PE也可以安装Linux操作系统,但是仍有很多朋友仍然不知道U盘PE安装Linux的步骤. 操作系统. 因此,今天,U Daxia的编辑将与 ...

  3. 新手学堂:Linux操作系统的启动步骤说明

    1.读取MBR的信息,启动Boot Manager Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统. L ...

  4. 从安装过程品国产Linux操作系统的技术来源与异同之处

    作者:IT圈黎俊杰 使用Linux操作系统的第一步无疑是安装,本文通过作者亲手对多个国外主流开源操作系统.多个主流国产操作系统的安装过程进行记录与对比,让大家可以借助安装过程的界面风格.页面布局.功能 ...

  5. Linux操作系统的发展

    一.计算机的发展历程 1.计算机的起源 在开始讲解计算机的历史前,我们需要认识到人和动物最大的区别在于人是会使用工具的.从饮血茹毛到使用火烧熟食物,工具的使用给对于人类发展的作用是巨大的.同样,计算机 ...

  6. 计算机与linux操作系统的发展

    一.计算机 (一)计算机的概念 1.概念:计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速 ...

  7. Linux学习日记1——Ubuntu

    学习视频链接 Python基础之Linux基础入门(Ubuntu)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV17x411972F 乌班图安装 SSH ...

  8. 从U盘运行Linux操作系统的三种方法

    摘要: 从U盘运行Linux操作系统的三种方法 usb_linux_0 你或许听说过在U盘上运行live Linux操作系统,但你知不知道可以永久的保存运行时的数据,或者直接将Linux安装到U盘?本 ...

  9. 计算机及linux操作系统的简单介绍

    计算机及linux操作系统的简单介绍 文章目录 计算机介绍 冯诺依曼体系 二进制和十进制转换 摩尔定律 计算机分类 计算机硬件组成 内存 常见的磁盘接口 机械硬盘的基本参数 SSD固态硬盘 机柜 操作 ...

  10. linux彻底卸载xfce,Ubuntu上安装更加轻便和快速的XFCE桌面

    你想在你的Ubuntu电脑上试试XFCE桌面吗?下面是一个关于如何在Ubuntu上安装XFCE的教程.通过这个过程,您仍然保留了GNOME DE.在遵循本教程之后,您应该能够在登录屏幕上获得多个选项来 ...

最新文章

  1. [问题]DotNet 项目如何实现在构建时 Build 号自动增加?
  2. BugkuCTF-Misc:Linux
  3. 揭秘下一代云数据库引擎MyBasefor PostgreSQL
  4. POSIX条件变量API函数
  5. MySQL数据库----触发器
  6. oracle数据库自动备份脚本
  7. 不搞虚的!快速把你拉入Docker 的门里
  8. ES6--Decorator修饰器
  9. Python入门-traceback
  10. python自定义规律绘制_ForMaiR - 自定义规则的邮件自动转发工具
  11. SpringBoot 整合 JPA
  12. 5安卓输入法键盘显示 搜索_日语输入法怎么用?
  13. MS .Net常见的持久层框架
  14. navicat使用手册
  15. ubuntu 12.04 安装 Anjuta
  16. 【非功能性测试】软件测试之非功能性测试有哪些?
  17. odd在c语言中的意思,odd是什么意思
  18. HTML+CSS十分钟实现响应式布局页面,响应式布局实战教程
  19. 前端面试题总结(包含答案解析)
  20. 3纠结的刺:当专家还是管理者

热门文章

  1. Bugku之本地管理员
  2. 数据库oracle审计,Oracle数据库审计策略
  3. OC内存管理 -- 黄金法则
  4. ssm+jsp计算机毕业设计大媛小南美味佳肴网站8p0nh(程序+LW+源码+远程部署)
  5. 【EI会议推荐】第四届机器人、智能控制与人工智能国际学术会议(RICAI 2022)
  6. 2022/10/17-10/22周报
  7. 谁能想到微软CRM也能用上SliverLight?——微软CRM炫酷介绍之二
  8. IDEA版本的Mybatis逆向工程使用攻略
  9. 【Netty 】Netty 是什么?能做什么?
  10. Double类型精度问题引起的错误