Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.Linux的发行家族有Debian、Fedora、SUSE

2.启动流程:操作系统->/boot(内核引导)->init进程->运行级别->/etc/rc.d-(系统初始化->建立终端)>用户登录->login sell

系统初始化:执行Shell脚本/etc/rc.d/rc.sysinit完成初始化工作,主要工作是激活交换分区,检查磁盘,加载硬件模块以及其他一些需要优先执行任务

3.Linux关机

正确的关机流程为:sync > shutdown > reboot > halt

Sync将数据由内存同步到硬盘中

shutdown -h now 立马关机

4.Linux系统目录结构

/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

5.Linux文件基本属性

Linux系统是一种典型的多用户系统,不同用户处于不同的地位,拥有不同的权限,为了保护系统的安全性,Liunx系统对不同的用户访问同一文件的权限做了不同的规定。

(1)ll或ls -l显示一个文件的属性以及文件所属的用户和组,如

可以看到文件abc.ppk的第一个属性用“-”标识,代表文件。

在Linux中第一个字符代表代表这个文件是目录、文件或链接文件。

d—目录

-—文件

l—链接文档

b—装置文件里面的可供存储的接口设备(可随机存取装置)

c—装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

下面的字符三个为一组,均为[rwe]的三个参数组合,其中r代表可读,w代表可写,x代表可执行。这三个权限的位置不会改变,没有权限,就会出现减号。

(2)Linux文件属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。一个用户属于一个或多个组。

更改文件属性

A.chgrp:更改文件属组 chgrp [-R] 属组名 文件名

-R:递归更改文件属性,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

B.chown:更改文件属主,也可以同时更改文件属组

chown [-R] 属主名 文件名

chown [-R] 属主名:属组名 文件名

C.chmod:更改文件的9个属性 chmod [-R] xyz 文件或目录或chmod [-R] u,g,o 文件或目录

r=4,w=2,x=1

(3)Linux文件与目录管理

A.列出目录 ls [-a,d,l]

选项与参数:

-a:全部的文件,连同隐藏文件一起列出来

-d:仅列出目录本身,而不是列出目录内的文件数据

-l:长数据串列出,包含文件的属性与权限等

B.切换目录 cd [相对路径或绝对路径]

C.显示目前所在的目录 pwd [-P]

-P:显示出确实路径,而非使用连结路径

D.创建新目录 mkdir [-mp] 目录名称

-m:配置文件的权限

-p:帮助你直接将所需要的目录递归创建起来

D.创建新目录 mkdir [-mp] 目录名称

-m:配置文件的权限

-p:将目录递归创建起来

E:删除空目录 rmdir [-p] 目录名称

-p:联通上一级的空目录也一起删除

F:复制文件或目录 cp [-a,d,f,i,l,p,r,u] 原文件 新文件

选项与参数:

-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !

G:移除文件或目录 rm [-fir] 文件或目录

H:移动文件与目录,或修改名称 mv [-fiu] 原文件 新文件

选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

修改文件名称 move test test1 将test文件名重命名为test1

(4)Linux文件内容查看

cat [-AbEnTv]  由第一行开始显示文件内容

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;

tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl   显示的时候,顺道输出行号!

more 一页一页的显示文件内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行 head -n 5 文件名 查看文件的前5行

tail 只看尾巴几行

(5)Linux vi/vim

vi/vim的三种模式:命令模式 输入模式 底线模式

命令模式:

i 切换到输入模式,以输入字符。

x 删除当前光标所在处的字符。

: 切换到底线命令模式,以在最底一行输入命令。

输入模式:

底线命令模式:

q:退出程序

w:保存文件

:n 直接切换至第n行

/x 在文件中搜索x

:$ 切换至文件末尾

:?word 向光标之上寻找word

:n1,n2s/word1/word2/g 在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

ndd 删除光标所在的向下n行

:set nu 显示行号

:set nonu 不显示行号

:10,20s/^/#/g在10-20行前添加#注释

:10,20s/^#/g 删除10-20行前的#注释

(6)用户和用户组管理

A:添加新的用户账号

useradd 选项 用户名

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

useradd –d  /home/sam -m sam

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。

useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

B:删除用户 userdel 选项 用户名

userdel -r sam

C:修改账号 usermod 选项 用户名

usermod -s /bin/ksh -d /home/z –g developer sam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

D:用户口令管理 passwd 选项 用户名

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-f 强迫用户下次登录时修改口令。

E:linux系统用户组的管理

(1)groupadd 选项 用户组 增加一个新的用户组

-g GID 指定新用户组的组标识号(GID)。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

groupadd group1

groupadd -g 101 group

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

(2)groupdel 用户组 删除一个已有用户组

(3)groupmod 选项 用户名 修改用户组的属性

groupmod -g 102 group2 #将组group2的组标识修改为102

Groupmod -g 1000 -n group3 group2 将组group2的标识号改为10000,组名修改为group3。

(7)磁盘管理

Linux磁盘管理常用三个命令为df、du和fdisk。

df:列出文件系统的整体磁盘使用量

du:检查磁盘空间使用量

fdisk:用于磁盘分区

df [-ahikHTm] [目录或文件名]

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;

-i :不用硬盘容量,而以 inode 的数量来显示

df 将系统内所有的文件系统列出来

df -h 将容量结果以易读的容量格式显示出来

df -aT 将系统内的所有特殊文件格式以及名称都列出来

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看

du [-ahskm] 文件或目录名称

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

-h :以人们较易读的容量格式 (G/M) 显示;

-s :列出总量而已,而不列出每个各别的目录占用容量;

-S :不包括子目录下的总计,与 -s 有点差别。

-k :以 KBytes 列出容量显示;

-m :以 MBytes 列出容量显示;

du 列出当前目录下的所有文件夹容量(包括隐藏文件)

du -a 将文件的容量也列出来

(8)Linux yum命令

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum [Options] [command] [package]

options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等

command:要进行的操作

package:操作的对象

yum常用命令 yum check-update:列出所有可更新的软件清单命令

yum update:更新所有软件

yum install<package_name>:安装指定的软件

yum update<package_name>:更新指定的软件

yum list:列出所有可安裝的软件清单

yum remove<package_name>:删除软件包

yum search:查找软件包

yum clean packages: 清除缓存目录下的软件包

yum clean headers: 清除缓存目录下的 headers

yum clean oldheaders: 清除缓存目录下旧的 headers

LUNIX命令集的更多相关文章

  1. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  2. shell编程:定义简单标准命令集

    shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...

  3. Mysql 常用命令集

    1.mysqlbinlog工具使用方法如下: 先使用 show binary logs 查看 在使用导出命令 mysqlbinlog -R -uroot -pxxxx -hxxx.xxx.xxx.xx ...

  4. 重要常用的Lunix命令

    lunix 命令大全:  http://man.linuxde.net/ 复制文件/文件夹 复制到本地 文件夹:scp -r work@www.abc.com:/home/work/project / ...

  5. 使用PowerShell 命令集进行SQL Server 2012 备份和还原

    最近心相不错,所以打算翻译一些英文文档做福利,原文在此,翻译有不足的地方还请各位兄弟指点. 讨论什么是DBA最重要的工作的时候,你最常听到就是一条就是DBA只要做好备份和恢复.事实如此,如果你不做备份 ...

  6. linux---Vim命令集

    Vim命令集 命令历史 以:和/开头的命令都有历史纪录,能够首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗体中输入下面命令就可以 vim 直接启动vim vim filena ...

  7. GIT - 代码管理工具之命令集

    GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...

  8. 【转】Git 代码行统计命令集

    查看git上个人代码量 git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; su ...

  9. MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

随机推荐

  1. 线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!

    前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈. 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈某 ...

  2. [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作客户端浏览器软件

    前言 大家用过微信PC端吧? 这是用浏览器做的. 用过Visual Studio Code吧? 也是用浏览器做的. 听说, 暴雪客户端也包含浏览器核心?? 在客户端启动一个浏览器, 并不是什么难事了. ...

  3. STM32 内存分配解析及变量的存储位置

    内存映射 在一些桌面程序中,整个内存映射是通过虚拟内存来进行管理的,使用一种称为内存管理单元(MMU)的硬件结构来将程序的内存映射到物理RAM.在对于 RAM 紧缺的嵌入式系统中,是缺少 MMU 内存 ...

  4. thinkphp--导入导出xls文件

    /** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示 ...

  5. php正则验证手机、邮箱

    //验证电话private function reg_phone($phone){        if (preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189] ...

  6. mysql 复制表结构和数据

    CREATE TABLE 新表名 SELECT 字段 as 新字段,字段 as 新字段.....from 旧表名:

  7. python字符串 提取括号中的内容

    返回值是一个列表 re.findall(r'[(](.*?)[)]', str1)

  8. JVM原理与深度调优(三)

    jvm垃圾收集算法 1.引用计数算法每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收.此方法简单,无法解决对象相互循环引用的问题.还有一个问题是如何解决精准计 ...

  9. Libra教程之:数据结构和存储

    文章目录 存储的数据结构 账本历史 账本状态 账户 事件 前面的文章我们知道,libra会把所有的数据都存储在账本中.为了方便业务逻辑和数据的校验,这个存储是以特定的数据结构来实现的,这里我们叫做验证 ...

  10. Python爬虫,抓取淘宝商品评论内容!

    作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...