linux

系统安装

导入ISO镜像,启动客户机。
鼠标点进虚拟机快速按F2,进入BIOS安装界面,因为计算机默认是通过硬盘启动,而虚拟机硬盘是空的,因此选择光盘启动,选择boot,把CD-ROM Drive移动到上面,然后移动到Exit,选择不保存退出,(注:虚拟机安装如果在硬盘里没有镜像会去光盘查找,真实机没有这个功能,真实机装完后要改回硬盘启动。),在出现的VMware中快速 按F2进入Linux光盘启动界面,选择第1个,弹出是否检测光盘,选择跳过,来到安装界面,下一步,选择中文,下一步,选择美式键盘,下一步,基本存储,下一步,忽略所有存储,下一步,选择主机名,默认即可,下一步,时区选择亚洲/上海,下一步,设置密码,下一步,创建Linux分区,选择创建自定义布局,下一步,点击创建,标准分区,首先创建boot启动分区,200M即可,然后swap分区,内存2倍,不要超过2G,1G即可,可选(创建home分区,2G即可),最后跟分区,使用全部可用空间,下一步,格式化,写入文件系统,下一步,将修改写入磁盘,下一步,安装引导程序,默认即可,下一步,选择Basic Server,下一步,选择重新引导(注:真实机要在出现的VMware中安F2,改成硬盘启动),选择超级用户root登陆

网络连接

桥接: 虚拟机利用你的真实网卡与你的当前计算机通讯,占用真实网段的IP地址,设置跟windows同一个网段的IP地址,可与局域网内
Nat : 通过VMnet8虚拟网卡与你的计算机通讯,如果真实机能访问互联网,虚拟机也可以
Host-only: 通过VMnet1虚拟网卡与你的计算机通讯,仅能跟你当前计算机通讯
Host-only 下配置IP:查看VMnet1下的网段,然后 输入ifconfig eth0 192.168.192.2回车即可,临时生效

linux主要目录

/           //根目录
/bin        //命令保存目录
/boot       //启动目录,启动相关文件
/dev        //设备文件保存目录
/etc        //配置文件保存目录
/home       //普通用户家目录
/lib        //系统库保存目录
/mnt        //系统挂载目录
/media      //挂载目录
/root       //超级用户家目录
/tmp        //临时目录
/sbin       //root命令保存目录
/proc       //直接写入内存
/sys        //体现Linux资源的树形结构
/usr        //系统软件资源目录
    /usr/bin/      //系统命令
    /usr/sbin/     //
/var        系统相关文档内容
/var/log/       系统日志位置
/var/spool/mail/    系统默认邮箱位置

命令格式

命令 [-选项] [参数]
例:ls -la /etc

文件处理命令 :ls(list) 查看文件 -a 查看所有 -l 长格式,信息较全 -lh 人性化显示文件大小 ls -ld /edc 查看当前目录信息 -i 查看节点信息
目录处理命令 :mkdir 创建目录 mkdir -p /tmp/a/b 递归创建目录,即先创建a目录再创建b目录
切换目录 :cd(change dircetory)
显示当前目录 :pwd(print working directory)
删除空目录 :rmdir(remove empty directory)
复制文件或目录 :cp(copy) 例:cp /etc/grub.conf /tmp cp 源文件 目标文件
cp -rp [原文件或目录][目标目录]
cp -r 复制目录
cp -p 保留文件属性
剪切文件,改名 :mv(move) 语法:mv[原文件或目录][目标目录]
删除文件或目录 :rm(remove) 语法:rm -rf [文件或目录]
-r 删除目录
-f 强制执行(force)
创建文件 :touch
查看文件内容 :cat 语法:cat 文件名
-n 显示行号
tac 反向显示
分屏显示文件内容:more 语法:more 文件名 (空格)或f 翻页
Enter 换行
q 退出
less 语法:less 文件名 pageup 向上翻页
上箭头 向上翻一行
浏览状态里加/输入想要查找的关键字搜索,n查找下一个
显示文件前面几行:head 语法:head 文件名 显示文件前10行
head -n 7 文件名 显示文件前7行

显示文件后面几行:tail 语法:tail 文件名 显示文件前10行
tail -n 7 文件名 显示文件后7行
tail -f 动态显示文件末尾内容
创建软链接 :ln 语法:ln -s 源文件 目标文件 相当于windows里的快捷方式,软链接文件以l开头,权限是lrwxrwxrwx没啥卵用,源文件和目标文件都必须是绝对路径
硬链接 ln 源文件 目标文件 同一个i节点,会同步更新,不能跨分区创建,不能针对目录使用
查看目录的详细信息 ll ls -ld的缩写
-rw-r–r–:第一个-表示文件类型(-二进制文件 d 目录 l软链接文件)
rw- r– r–
u g o
所有者 所属组 其他人

r —- 4
w — 2
x —- 1
file
r: cat/more/less/head/tail/
w: vim
x: script command
dir
r: ls
w: touch/mkdir/rmdir/rm
x: cd
对文件有写权限,只可以修改文件内容,要想删除文件,需要有对文件所在的目录有写权限
修改权限 :chmod 777 文件名 或 chmod u+r ,g-w,o=x文件名 chmod -R 777 /a表示修改a和a下的所有文件权限,递归修改
创建用户 :useradd username
创建所属组 :groupadd 组名
密码 :passwd username
改变一个文件的所有者 (root):chown(change file ownership) newusername filename or dirname
改变一个文件的所属组 : chgrp ​newgroupname filename or dirname
显示,设置文件的缺省权限 :umask -S ​ ​ ​ ​默认新创建的文件是没有可执行权限的

搜索 :find 语法:find [搜索范围] [匹配条件] 不要在服务高峰期使用
find /etc -name *init* 匹配文件名里包含init的文件 ‘*’通配符,匹配任意字符 ‘?’匹配单字符
iname 不区分大小写
find / -size +204800 +表示大于 -表示小于 不写表示等于
1数据块 = 512字节 = 0.5K
100M = 102400KB = 204800
​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​-user
find / -cmin -5 在根下查找5分钟内被修改过属性的文件和目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
find / -size +204800 -a -type f and2个条件都要满足 o or代表或者
find /etc -name inittab -exec ls -l {} \; ​对搜索结果执行操作 ​-ok表示要确认
​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​find ​. ​-inum ​11211 ​-exec ​rm ​-rf ​{} ​\; ​查找当前目录下i节点号为11211的并执行删除。
:locate 语法:locate 文件名 模糊查询(快速,不要查询tmp下的文件) 如果是新建立的文件要先执行updatedb命令
locate -i 文件名 不区分大小写
locate 不需要像find去遍历整个分区或目录,而是在文件资料库中查找文件,/tmp不在资料库的收录范围内。
:which 语法:which 命令名 查找命令所在的绝对路径+别名
:whereis 语法:whereis 命令名 查找命令所在的绝对路径+帮助文档的绝对路径
:grep 语法:grep ‘multiuser’ /etc/inittab 查看文件内容里包含multiuser字符串所在的行 -i 不区分大小写
grep -v ^# /etc/inittab 查看除了以#开头的内容

帮助命令 :man(manual) 语法:man 命令名/配置文件名
查看命令/配置文件的帮助信息,如果是shell内置命令使用help,用which和whereis找不到命令路径的命令,则为shell内置命令
man severces 查看配置文件的信息(不要加绝对路径)
whatis 命令名 查看简短的信息
apropos 配置文件名 查看配置文件简短信息
命令名 –help 列出命令的常用选项
help 命令名 查看shell内置命令:cd,umask,if
​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​shell:命令解释器。敲入的命令通过shell传递给内核,内核返回结果给shell,然后通过shell再把结果显示出来。

压缩命令
格式 压缩 解压缩
压缩格式:.gz -gzip -gunzip/gzip -d 只能压缩文件,不保留原文件
.tar.gz tar -zcf tar -zxf
.zip zip -r xx.zip unzip -r表示目录。win和Linux通用格式
.bz2 bzip2 bunzip2 -k保留原文件
.tar.bz2 tar -cjf xjf
打包压缩 :tar 语法:tar -zcf[v] xx.tar.gz 要打包的文件 z(zip)压缩 c(create)创建 f(文件名) v(view)显示打包的文件
解压 tar -zxf[v] xx.tar.gz x()解压

网络命令
给在线用户发信息:write 语法:write username,以Ctrl+d保存结束
所有 wall(write all) wall [message]
ping ping [-c 3] ip 踩点
mail mail username,以Ctrl+d保存结束,非在线用户也可以发,mail接收,输入号查看,h查看邮件列 表,d+序列号:删除,q退出
统计所有用户的登陆信息:last
查看用户最后一次登陆 : lastlog [-u uid]
显示数据包到主机间的路径:traceroute 语法:traceroute www.sina.com.cn
显示网络状态信息 :netstat [选项]
-t: tcp协议 打电话
-u: udp协议 发短讯
-l: 监听
-r: 路由
-n: 显示IP地址和端口号
范例 -tlun 查看本机监听的端口,只能查看监听
-an 查看本机所有的网络连接,查看监听和正在连接的网络数据
-rn 查看本机路由表,网关
配置网络 :setup ​ ​ ​设置完重启service ​network ​restart

挂载 :mount
1.创建挂载点 mkdir /mnt/cdrom

                                             固定的可省略     设备文件名                挂载点
                            2.mount    [-t  iso9660]       /dev/sr0                   /mnt/cdrom
​    ​    ​    ​    ​    ​    ​    ​    ​umount    ​    ​    ​    ​    ​    ​    ​/dev/sr0

Linux所有的存储设备都必须挂载之后用户才能使用,包括硬盘,光盘,U盘
关机 :shutdown 语法:shutdown -h now/20:30 -h停止
-r -r启动
-c 取消前一个关机命令
使用mount命令检测是否已经挂载
mount -a 自动挂载

                                ↙esc

vim =>进入命令模式 →输入命令a i o进入插入模式
↘:进入编辑模式

                            :a    在光标后插入
                           A   在光标所在行的行尾插入
                           i    在光标前插入
                           I    在光标所在行的行首插入
                           o   在光标下新插入一行
                           O  在光标上新插入一行

                            命令                    作用
                           :set num          设置行号
                            :set nonum       取消行号→→
                            gg                     到第一行
                            G                       到最后一行
                            nG                     到第n行
                            :n                       到第n行
                            $                        移至行尾
                            0                        移至行首

                            x                        删除光标所在处的字符
                            nx                     删除光标所在处后n个字符
                            dd                    删除光标所在行,ndd删除n行
                            dG                    删除光标所在行到文件末尾的位置
                            D                      删除光标所在处到行尾的内容
                            n1,n2d             删除指定范围的行
                            yy                    复制当前行
                            nyy                  复制当前行以下n行
                            dd                    剪切当前行
                            ndd                 剪切当前行以下n行
                            p,P                   粘贴在当前光标所在行下/行上


r 替换
R 从光标所在处开始替换字符,按ESC结束
u 取消上一步操作
/string 搜索指定字符串,搜索是忽略大小写:set ic n查找下一个
:%s/old/new/g 全文替换指定字符串 %s全文 g不询问 c询问
:1,2s/old/new/g在1-2行范围内替换指定字符串

                            :w                        保存修改
                            :wq                      保存修改并退出
                            ZZ                        快捷键,保存修改并退出
                            :w new_filename 另存为指定文件
                            :q!                        不保存修改退出
                            :wq!                     保存修改并退出(文件所有者及root可使用)
                            :r     文件名           导入文件
                            :r    !date              导入命令执行结果
                            :!which    ls          查看命令路径
                            :map ^P(ctrl+v+p) I#<esc>    定义快捷键,想永久生效,写入.vimrc里
                            :map ^B                 0x
​    ​    ​    ​    ​    ​    ​    ​:1,4s/^/#/g    ​    ​1-4行添加注释

软件包管理

源码包 ​ ​ ​ ​ ​ ​ ​开源,自由定制,效率高,但安装慢,报错不容易解决
二进制包(RPM包) ​ 安装快,简单,看不到源代码
​RPM-rpm命令管理 ​ ​
​ ​ yum在线管理

    rpm包命名原则
    httpd-2.2.15-15.el6.centos.1.i686.rpm
    httpd                软件包名
    2.2.15                软件版本
    15                     软件发布的次数
    el6.centos         适合的Linux平台
    i686                  适合的硬件平台
    rpm                  rpm包扩展名

包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径                    (安装,升级)
包名    :操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库        (卸载)

rpm安装 语法:rpm -ivh 包全名 i(install) v(verbose)显示详细信息 h(hash)显示进度 –nodeps 不检测依赖性
rpm升级 rpm -Uvh
卸载 rpm -e 包名
查询包是否已安装 rpm -q 包名 -q(query) -qa 查询所有已安装的包
rpm -qa | grep httpd 查询所有与httpd相关的安装包
rpm -qi 包名 查询包的相关信息 -p(package)查询未安装包信息
rpm -ql 包名 l(list)查询包中文件的安装位置
rpm -qf 系统文件名 f(fi)查询系统文件属于哪个rpm包
rpm -qR 包名 R(require)查询已安装的包需要依赖哪些包
rpm -qRp 包全名 p(package)查询未安装的包需要依赖哪些包
rpm -V 已安装的包名 rpm包校验看文件是否有修改
cpio提取包中的文件
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls

yum
获取可安装的yum包 yum list
搜索相关软件包 yum search 包名
安装 yum -y install y自动回答yes
yum -y update 包名 升级
remove 卸载

rpm默认安装位置
/etc/ ​ ​ ​ ​ ​ ​ ​ ​配置文件安装位置
/usr/bin/ ​ ​ ​ ​ ​ ​ 可执行的命令安装目录
/usr/lib/ ​ ​ ​ ​ ​ ​ 程序所使用的函数库保存位置
/usr/share/doc/ ​ ​ ​ 基本的软件使用手册保存位置
/usr/share/man/ ​ ​ ​帮助文件保存位置

源码包安装在指定位置中一般是 ​/usr/local/软件名
源代码保存位置 ​ ​ ​ ​ ​ ​ ​/usr/local/src/

rpm包安装的服务启动方法
/etc/rc.d/init.d/httpd start
service httpd start
绝对路径启动和service服务启动,之所以能用service服务,是因为它会去rpm安装位置下搜索,所以源码包服务启动就不能用service-》红帽专有命令。

源码包安装
先装gcc yum -y gcc gcc C语言编译器,计算机要安装源码包,必须用gcc来识别用C写的源码包
解压源码包,进入解压缩目录,执行
./configure(编译前准备,软件配置与检查)

用户配置文件
用户信息文件/etc/passwd,7个字段
vim /etc/passwd
这里写图片描述
root-用户名
x - 密码标志
0 -UID用户ID1-499系统伪用户
0 -初始组ID
root-用户说明
/root-该用户的家目录,初始登陆位置,普通用户是/home/用户名
/bin/bash-shell命令解释器
影子文件/etc/shadow,9个字段
这里写图片描述
第1字段–用户名
第2字段–加密密码

SHA512散列加密算法
如果密码位是”!!”或”*”代表没有密码,不能登陆

第3字段–密码最后一次修改时间
第4字段–修改密码时间间隔(和第3个字段相比)
第5字段–密码有效期(和第3个字段相比)
第6字段–密码到期提前警告时间
第7字段–密码到期后宽限时间
第8字段–账号失效时间(时间戳)
第9字段–保留
时间戳换算成时间

usermod修改用户信息,操作已存在的用户,useradd操作新增用户
change -d 0 user1
userdel -r username 删除用户的同时删除用户家目录
su - username 切换用户,-表示连同环境变量一起切换
useradd -G groupname username
gpasssd -a username root

ACL

作用:当所有者,所属组,其他人满足不了需求的时候,就用到了ACL。
查看:getfacle filename
设定:setfacl -m u:uname:rx /project/
-m:设定acl权限
-x:删除指定的ACL权限
-b:删除所有的ACL权限
特殊权限

SETUID

作用:普通用户在执行拥有SETUID权限的程序文件的时候,会暂时获得这个程序的所有者的身份。
只能针对文件。比如passwd文件

设定SETUID权限

chomd 4755 filename
chomd u+s filename

SETGID

作用:普通用户在执行拥有SETGID权限的程序文件的时候,会暂时获得这个程序的所属组的身份。
针对文件或目录。
这里写图片描述
这里写图片描述
当用户执行locate命令进行搜索的时候,会去mlocate.db数据库里进行搜索,但mlocate数据库其他人的权限是0,即没有调用权限,但locate命令的所属组有SETGID权限,所以当用户进行locate搜索时,身份组会升级为slocate组,而mlocate.db数据库的所属组就是slocate,slocate组对数据库是有执行权限的。所以,虽然普通用户对slocate数据库没有任何权限,但用locate切换组身份即可调用。

StickyBit

这里写图片描述
作用:目录权限是777,普通用户可以删任何文件,设置SBIT,普通用户只能删除自己建的文件。

文件系统属性

作用:对文件设置i属性,则只允许查看,不允许对文件删除,改名,也不能添加和修改数据。相当于把文件锁起来,只能查看。
这里写图片描述
如果对目录设置i属性,则只能修改目录下文件的数据,不允许建立和删除文件,针对root也生效。
这里写图片描述
对文件设置a属性,则只允许增加数据,不允许修改和删除数据。相当于把现有数据锁起来。对目录设置a属性,则只允许在目录中新建和修改文件,不允许删除。

sudo权限

作用:root把只有超级用户才能执行的命令赋予普通用户执行。
sudo的操作对象是系统命令。
用法:root在visduo里添加只有超级用户才能执行的命令赋予普通用户。
username ALL=/sbin/shutdown -r now
组的话在用户名前加%
ALL指的是被管理的主机地址

普通用户用sudo -l查看root赋予给自己的命令
普通用户执行:sudo /sbin/shutdown -r now

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值