Linux基础命令大礼包
一、Linux简史
Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。linux来源于哪里?为什么linux是免费的?linux的发展历
| 1969年 ken.Thompson | 使用BCPL(基本组合编程语言)开发出了Unics | 
| 1972年 Dennis Ritchie | 用c语言改写Unix | 
| 1984年 Richard M.Stallman | 创办GNU计划和自由软件基金会,旨在开发一个类似 Unix、并且是自由软件的完整操作系统:GNU 系统,bash工作环境,gcc编译程序等自由软件GPL | 
| 1987年 Andrew S. Tanenbaum | Minix | 
| 1991年 Linus Benedict Torvalds | Linux | 
| 1994年 Bob Young Marc Ewing | RedHat(Linux的发行版之一),是世界上最大的开放源代码的公司之一。 | 
二、Linux主要特性:
1.基本思想(一切皆文件)
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
2.完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
3.完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
4.多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
5.良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
6.支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。常见的操作系统:UNIX、Linux类、MacOS、Windows类、iOS、Android、WP、ChromeOS
linux严格来说只是linux内核,我们通常说的linux其实都是基于linux内核的一个发行版本的操作系统。linux这些发行版都是***和自由传播的操作系统并且Linux发行版在服务器上已成为主流的操作系统。
三、Linux的基本原则:
1、由目的单一的小程序组成
2、一切皆文件,设备的访问入口也是文件
3、避免捕获用户接口,尽量不和用户交互
4、配置文件保存在纯文本格式,只要有一个文本编辑器,足以搞定所有的配置。
四、Linux命令格式:
>命令
>命令 参数
>命令 -选项
>命令 -选项 参数
- 修改命令的执行特性: 短选项 -l long
- 多个选项可以组合: 长格式 --long
- 参数:指定命令的作用对象
进入正题!!! 请收下以下大礼包,觉得有收获的话,点个赞再走吧~
最常用:
ip a                           查看ip地址
dhclient                       地址请求
 
pwd                            指出当前工作环境    print workdoing directory
su                             切换到root用户并不切换环境(工作目录) switch user
su  redhat                     切换为用户身份,但不切换工作目录(工作环境) 
kill -9 ID                     结束相应的进程
touch  文件名                   创建文件
mkdir  目录名                   创建目录   -p parents  父目录   -v    verbose  详细信息
ln     原文件  目标文件         创建硬链接
ln -s  原文件  目标文件         创建软链接
Nano    文件名                  编辑文件
cat     文件名                  查看文件
rm -f -R 文件/目录的路径      -f强制删除,-R递归删除(将某个目录下的文件都删除)
df -h                  查看磁盘分区
  
du -a /文件的绝对路径   查看文件分区
挂载:
mount 镜像 挂载点
umount 挂载点
文件/目录权限的修改:
read write execute
user group other
r     w     x
4     2     1
u     g     o
chmod -R  u/g/o  +/-  r/w/x    文件/目录的绝对路径
-R是递归 即如果修改的是目录文件 则其下的所有文件都会被修改
文件/目录的所属修改:
uid   gid
ID/name ID/name
chown -R uid:gid 文件/目录绝对路径
chgrp gid  文件/目录绝对路径
which 只想查看命令路径但是不想查看别名路径
\which ls
which --skip-alias ls
who 查看谁登陆到当前系统相关用户信息
-b 最近一次系统是什么时间启动的       tty本地虚拟终端
-d 显示死亡进程
-r 显示运行级别 
w就是who是增强版的who(可以显示登录用户,以及在做什么)
详细:
文件/目录的复制与移动:
cp [命令选项] 源文件 目的文件
常用命令选项:
        -f:强行复制文件或目录,不论目标文件或目录是否已存在
        -i:覆盖既有文件之前先询问用户
        -p:复制的时候保留文件原有的属性,时间戳等信息
        -R/r:递归处理,将指定目录下的所有文件与子目录一并处理
        -a:归档复制,常用于备份   (-rp) 
mv [命令选项] 源文件 目标文件
常用命令选项:
        -f:强行复制文件或目录,不论目标文件或目录是否已存在; 
	-i:覆盖既有文件之前先询问用户;
	-p:保留源文件或目录的属性;
	-R/r:递归处理,将指定目录下的所有文件与子目录一并处理'。
查看目录文件:
命令格式:主命令 选项  参数(操作对象)
列出目录下的内容(list):ls
ls -l        以长列表方式列出   =ll
ls -r        逆序列出
ls -d        查看当前目录.
ls -ld       长列表列出当前目录的详细信息
ls -lh       显示目录或文件大小
ls -a        列出隐藏文件,包括.和.. 
ls -A        列出隐藏文件,不包括.和..
ls -i        显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区      中的文件都给它分配一个编号,称为索引节点号inode。
man ls        查看ls的使用手册
enter键可以一行一行的翻,空格键可以一页一页的翻
按q键退出
文件查找:
find  
         -name   指定名字查找
         -inum 
         -iname  指定名字进行查找忽略大小写
         -user   查找属主为指定用户的文件# find /tmp -user redhat 
         -group  查找属组为指定组的文件
         -uid 
         -gid
         -nouser 查找没有属主的文件
         -type TYPE(f d b c p s )# find / -type l ls 
组合测试查找:     与( -a)或(-o)非(!)
         find /tmp -nouser -o  type f -ls   
         find  /tmp -nouser -a  type f ls
强大的工具 man手册 
linux中使用man命令来查询命令的帮助文件,命令格式如下:
man [章节] command
常用命令如下:
	d, Ctrl+D: 向文件尾部翻半屏;
	u, Ctrl+U: 向文件首部翻半屏; 
	q: 退出; 
	#:跳转至第#行; 
        1G: 回到文件首部; 
	G:翻至文件尾部。
命令的帮助文件通常存放在/usr/share/man目录下。
man包含9个章节,章节用数字表示,分别是:
	用户命令 
	系统调用 
	C库调用
	设备文件及特殊文件 
	配置文件格式 
	游戏
	杂项 
	管理类的命令
	Linux 内核API
如果查询命令的时候不追加章节,则默认从第一个章节开始查询,以此类推,直到找到对应要查询的命令为止。
强大的vim vim大法好
文本编辑vim:
	命令模式:按esc键可回到命令模式
		dd                删除当前行
		dw                按单词删除
		u                撤销当前操作
		ctrl+r        重做
		yy                复制光标所在行
		2 yy        复制光标所在行和光标下一行
		p                粘贴到光标下一行
		cc         剪切
		行数cc 剪切当前行开始的几行
		x                删除光标所在位置的内容
		w,b                按单词进行移动光标
		gg                跳转到文档首部行首
		dgg       删除光标至文档首部
		G                跳转到文档尾部行首
		/字符串1        查找字符串1
		$        行尾
		^        行首
		h        往左按字符移动光标
		j        往下(后)按行移动光标
		k   往上(前)按行移动光标
		l   往右按字符移动光标
		H   跳转到当前屏幕输出的最上面一行
		L        跳转到当前屏幕输出的最下面一行
		M        跳转到当前屏幕输出的中间那一行
	插入模式:
		i 在光标前插入
		I在光标所在行行首插入
		a 在光标后插入
		A 在光标所在行末尾插入
		s 删除光标所在位置字符并插入
		S 删除光标所在行并插入
		o 在光标所在行下一行插入
		O 在光标所在行上一行插入
		 
	末行模式:
		:wq        保存退出
		:q                退出(未修改文件内容才可以退出)
		:wq!        强制保存退出
		:q!        强制退出,不保存
		:set nu        显示行号
		:set nonu        不显示行号
		:行号 跳转到指定行号
		:3,5 d                删除3-5行
		:r 文件名1        读出文件1的内容到当前文件里
		:%s/字符串2/字符串3                字符串3替换字符串2
		:%s/1/2/g        将1替换为2,全局修改
		:w 文件名1        另存为文件名1
  会了上面那些列举的基础,拿着这些原材料,来进行软件的安装吧~
软件安装:
- 命令参数解释:
rpm redhat package manager
-ivh 安装 v打印相关进度信息install--verbose--hash
-evh 删除
-qa 查询所有安装的软件包 ,一般在后面跟上管道符使用grep来过滤关键字
-ql 查看软件包释放的文件列表[Query list]
-qf 查看某个文件是哪个软件包释放的[Query File];
-Uvh 升级软件包--Update;
-qpi 列出软件包的详细信息
-Va 校验所有的RPM软件,查找丢失的文件[View Lost];
-e:删除包
-v verfiy 核对证实
-h hash 进度条
什么是yum?
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 详细步骤:
1.mount /dev/sr0 /mnt (获取软件包)
2.vim /etc/yum.repos.d/base.repo (定义yum仓库文件)
[base] 源标识 (表示仓库存在)
name=haha 源名称 (仓库命名)
baseurl=file:///mnt (定义包的资源定位符/定义安装软件包的绝对路径)
gpgcheck=0 (关闭软件包公钥检查)
enable=1 (表示重启后,yum仍然生效)
yum clean all
3.yum repolist 查看仓库状态 RHEL7.2 的状态: 本地4620 / 0
4.yum install 软件名 -y(直接确认)
5.yum remove 软件名 -y
yum clean all 清除yum缓存
yum grouplist
yum groupinstall
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all全部清除
[root@localhost ~]# cd /var/cache/yum/x86_64/7Server/base/
查看源标识、源名称、状态:yum repolist
安装软件:yum install
删除软件:yum remove
本地rpm软件包:localinstall
还有一些常用的,后期会更新~
 字节跳动公司福利 1313人发布
字节跳动公司福利 1313人发布
