LUNIX命令集
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命令集的更多相关文章
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- Mysql 常用命令集
1.mysqlbinlog工具使用方法如下: 先使用 show binary logs 查看 在使用导出命令 mysqlbinlog -R -uroot -pxxxx -hxxx.xxx.xxx.xx ...
- 重要常用的Lunix命令
lunix 命令大全: http://man.linuxde.net/ 复制文件/文件夹 复制到本地 文件夹:scp -r work@www.abc.com:/home/work/project / ...
- 使用PowerShell 命令集进行SQL Server 2012 备份和还原
最近心相不错,所以打算翻译一些英文文档做福利,原文在此,翻译有不足的地方还请各位兄弟指点. 讨论什么是DBA最重要的工作的时候,你最常听到就是一条就是DBA只要做好备份和恢复.事实如此,如果你不做备份 ...
- linux---Vim命令集
Vim命令集 命令历史 以:和/开头的命令都有历史纪录,能够首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗体中输入下面命令就可以 vim 直接启动vim vim filena ...
- GIT - 代码管理工具之命令集
GIT 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.它会把你的每次提交的文件的全部内容都会记录下来. GIT特点 速度 简单的设计 对非线性开发 ...
- 【转】Git 代码行统计命令集
查看git上个人代码量 git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; su ...
- MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab
MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...
随机推荐
- 线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!
前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈. 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈某 ...
- [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作客户端浏览器软件
前言 大家用过微信PC端吧? 这是用浏览器做的. 用过Visual Studio Code吧? 也是用浏览器做的. 听说, 暴雪客户端也包含浏览器核心?? 在客户端启动一个浏览器, 并不是什么难事了. ...
- STM32 内存分配解析及变量的存储位置
内存映射 在一些桌面程序中,整个内存映射是通过虚拟内存来进行管理的,使用一种称为内存管理单元(MMU)的硬件结构来将程序的内存映射到物理RAM.在对于 RAM 紧缺的嵌入式系统中,是缺少 MMU 内存 ...
- thinkphp--导入导出xls文件
/** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示 ...
- php正则验证手机、邮箱
//验证电话private function reg_phone($phone){ if (preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189] ...
- mysql 复制表结构和数据
CREATE TABLE 新表名 SELECT 字段 as 新字段,字段 as 新字段.....from 旧表名:
- python字符串 提取括号中的内容
返回值是一个列表 re.findall(r'[(](.*?)[)]', str1)
- JVM原理与深度调优(三)
jvm垃圾收集算法 1.引用计数算法每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收.此方法简单,无法解决对象相互循环引用的问题.还有一个问题是如何解决精准计 ...
- Libra教程之:数据结构和存储
文章目录 存储的数据结构 账本历史 账本状态 账户 事件 前面的文章我们知道,libra会把所有的数据都存储在账本中.为了方便业务逻辑和数据的校验,这个存储是以特定的数据结构来实现的,这里我们叫做验证 ...
- Python爬虫,抓取淘宝商品评论内容!
作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...