LinUX
1、工作学习控制linux需安装的程序:
-
Xshell: 远程登录到机房的linux系统
-
Xftp5 : 远程上传和下载文件软件
如果Xshell连接不上可能的原因:
- 如果希望安装好XShel15就可以远程访问Linux系统的话,需要有一个前提,就是 . Linux启用了SSHD服务,该服务会监听22号端口。
如果Xftp6连接不上可能的原因:开启的不是sftp
2、实操:
2、1 vi和vim的基本介绍:
-
所有的linux系统都会内置vi文本编辑器
-
vim具有程序编辑的能力。可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补完,编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
-
-
基础操作:
- 在正常模式按yy进行复制本行,y$为复制该光标位置到行末 按p粘贴
- 按u撤回你本次的命令,按ctrl+r撤回你的撤回
- 剪切,dd 剪切本行, d$光标到行末,按p粘贴
- 删除单个字符:x
- 替换单个字符: r+要替换成的字符
- 瞬移到第几行:打开行数显示:set nu 后 要瞬移的行数+shift +g
- 光标移动到行首:shift+^
- 光标移动到行末:shift+$
3、基础指令:
3、1 指导链接
https://www.runoob.com/linux/linux-command-manual.html
3、2 创建目录 :
mkdir 【目录名】 or mkdir -p /a/b/c -p是创建多级文件夹
3、3 删除目录 :
rmdir 【目录名】 or rm -r -f 【目录名】
3、4 rmdir常用的参数 :
-r 删除目录(及目录下的文件)
-f 不进行提示
3、5 查看方法的详情:
man or info or–help info 是来查看shell内嵌的,help是除外 如果不知道类型便使用 type [方法名] 来查看是否内嵌
若是方法详情为英文版,便可切换为中文版:切换链接教程:https://blog.51cto.com/snowlai/2141087?cid=713521
3、6 通配符 :
* 匹配所有
? 匹配单个
[xyz] 匹配xyz中的任意一个字符
[a-z] 匹配一个范围
[^abc] [!abc] 不匹配的字符
3、8 修改文件或者目录的时间属性:
touch /a /b /c
一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件
3、7 复制文件 :
cp 【复制文件和目录】 [复制的目的路径]
- 常用的参数 :
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
3、9 移动文件 :
mv 【要移动的文件起始路径】 【移动的目的路径】
3、10 文本查看命令
- cat : 文本内容显示到终端
- head: 查看文件开头,可加参数 -[数字] 表示你要查看[数字]行
- tail :查看文件结尾,可加参数 -[数字] 表示你要查看[数字]行
- 常用参数 -f 文件内容更新后,显示消息同步更新
- -f 后需要ctrl +c 才能退出实时更新的状态
- wc : 统计文件内容信息
3、11 打包命令:
tar [打包后的文件路径] [要打包的文件路径]
- 常用参数
c 打包
x 解包
f 指定类型为文件
- 打包压缩命令 :
tar czf /tmp/abc.tar.gz /etc 压缩成.gz 压缩效率低,耗时短
tar cjf /tmp/abc.tar.bz2 /etc 压缩成.bz2 压缩效率高,耗时长
- 解包命令:
tar xf /tmp/abc.tar.bz2 -C /root [解压放的位置]
3、12 压缩命令:
gzip **or** bzip2
3、13 切换用户命令:
su - [要切换成的用户名称]
- 以其他的用户身份执行命令:sudu
- 需要设置sudu的用户(组) visudu
3、14 创建新用户:
useradd [用户名]
- 设置密码: passwd [用户名]
usermod --help 修改用户这个命令的相关参数
userdel [用户名] 删除用户testuser
rm -rf [用户名] 删除用户testuser所在目录
3、15 修改权限命令:
u 是属主(user) g 是属组(group) o 是对象(object)
- chmod 修改文件,目录权限
chmod u+w /tmp/testfile 新加读权限
chmod u-w /tmp/testfile 新加读权限
chmod 750/tmp/testfile
- chown 更改属主,属组
chown user3 /test 主
chown :group /test 组
- chgrp 可以单独修改属组,不常用
3、16 查看linux虚拟机参数:
lscpu
3、17 查看linux虚拟机日志:
-进入系统日志页
cd /var/log
-系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/message
-与安全相关的日志信息
/var/log/secure
-与邮件相关的日志信息
/var/log/maillog
-与定时任务相关的日志信息
/var/log/cron
3、18 将某字符替换某文件的内容
echo abcd > filename
3、19 更改主机名
hostnamectl --static set-hostname [主机名字]
3、20 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
-查看防火墙状态
systemctl status firewalld.service
4、文件类型:
4、1 基础类型:
- -普通文件**
- **d 目录文件**
- **b 块特殊文件**
- **c 字符特殊文件**
- **l 符号链接**
- **f 命名管道**
- **s 套接字文件**
4、2 字符权限类型:
r 读权限
x 执行权限
w 写入权限
创建新文件有默认权限,根据umask值计算,属主和属组根据当前进程的用户来设定
- 目录权限:
x 进入目录
rx 显示目录中的文件名
wx 修改目录中的文件名
4、3 字符权限类型:
数字权限的表示方法
- r = 4
- w = 2
- x = 1
4、4 特殊权限:
- SUID 用于二进制可执行的文件,执行命令时获取文件属主权限 如/usr/bin/passwd
- SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
- SBIT 用于目录,该目录下新建的文件和目录,仅root和自己可以删除 如/tmp
5 、网卡
5.1 修改网络接口名称
编辑 /etc/default/grub 文件,增加 biosdevname=0 net.ifnames=0
更新 grub.#grub2-mkconfig -o /boot/grub2/grub.cfg
重启. #reboot
5、2 查看网线(网卡物理连接)情况
mii-tool eth0
5、3 查看网关
route -n
5、4 俩种命令的区别(CentOs7后和CentOS7前)
ip addr Is
ifconfig
ip link set dev etho up
ifup etho
ip addr add 10.0.0.1/24 dev eth1
ifconfig eth1 10.0.0.1 netmask 255.255.255.0
ip route add 10.0.0/24 via 192.168.0.1
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
5、5 重启网络服务
service network restart
6、软件的下载及管理
6、1 软件包管理器
包管理器是方便软件安装,卸载,解决软件依赖关系的重要工具
+ CentOS Redhat 使用yum 包管理器,软件安装包格式为rpm
+ Debian Ubuntu 使用apt 包管理器,软件安装包格式为deb
6、1、1 rpm格式
6、1、2 rpm常用的命令参数
-q 查询软件包
-i 安装软件包
-e 卸载软件包
6、1、3 yum常用的命令参数(常用的安装方式)
install 安装软件包
remove 卸载软件包
list| grouplist 查看软件包
update 升级软件包
6、1、4 查看yum的参数
vim /etc/yum.repos.d/CentOS-Base.repo
6、1、5 通过yum安装linux未安装的命令
-通过镜像查找该命令所存在的包
yum search ifconfig
-安装这个命令所需要的包
yum install net-tools.x86_64
6、1、6 内核升级
rpm格式内核
-查看内核版本
uname -r
-升级内核版本
yum install kernel-3.10.0·
-升级已安装的其他软件包和补丁
yum update
7 、进程
7、1、1:进程的查看命令
-ps 若要查看分页所有进程 : ps -e | more
-pstree 若要查看分页所有进程 : pstree | more
-top
结论:
进程也是树形结构的
进程和权限有着密不可分的关系
7、1、2:linux的第一个线程
pid=1 :init进程,系统启动的第一个用户级进程,是所有其它进程的父进程,引导用户空间服务。
pid为 1 的一定是init进程.
它是内核运行后的第一个进程. 它的作用你可以在网上查一下.
总的来说功能很多.包括 runlevel, 驱动, 启动服务啥地都会做,感觉事情很多.
pid=2 :kthreadd:用于内核线程管理。
pid=3 :migration,用于进程在不同的CPU间迁移。
pid=4 :ksoftirqd,内核里的软中断守护线程,用于在系统空闲时定时处理软中断事务。
pid=5 :watchdog,此进程是看门狗进程,用于监听内核异常。
7、1、3:进程间通信
-信号是进程间通信方式之一,典型用法是:终端用户输入中断命令,通过信号机制停止一个程序的运行。
-使用信号的常用快捷键和命令.
kill -l 注:(小写L -> l)
-SIGINT通知前台进程组终止进程
ctrl+c
-SIGKILL立即结束程序,不能被阻塞和处理
kill-9 pid
7、1、4:SELinux
MAC (强制访问控制)与DAC (自主访问控制)
-查看SELinux的命令
--getenforce
--/usr/sbin/sestatus
--ps-Z and ls -Z and id -Z
-关闭SELinux
--setenforce 0 临时的,重启后就会失效
--vim /etc/selinux/sysconfig vim修改配置文件,修改后需重启
8 、内存及磁盘
8、1、1 内存查看命令
-free
-free -m 按m显示
-free -g 按g显示
-top 实时动态查看
8、1、2 磁盘查看命令
-fdisk -l 因为该命令设计分区,建议在备份有关键内容的服务器上不要使用
-ls -l /dev/sd? 查看文件大小(可能存在空档位)
-parted -l
-df -h
-du -h 查看实际的(空的档位会被忽略,只计算实际)
9、 文件系统
9、1、1 常见的文件系统
linux支持多种文件系统,常见的有
--ext4 (CentOS 6 常用 )
--xft (CentOS 7 常用 )
--NTFS (需安装额外的软件)
9、1、2 ext4文件系统
ext4 文件系统基本结构比较复杂 i节点相当于指针,代表地址
+ 超级块
+ 超级快副本
+ i 结点
+ 数据块
9、1、3 ext4特殊命令
-在文件之间建立连接,可以产生关系,产生不同文件,i结点不同,删除文件只是断开i节点与文件的联系
ln -s afile aafile 软连接其实是文件索引的索引。当源文件afile 删除之后,其实磁盘数据文件还在,aafile 也无法使用。
ln -d afile aafile 硬连接如果删掉源文件afile,那么磁盘上数据文件时不会删除的。因为i节点上记录了该文件的硬链接数。只有硬链接数是0的时候,删除文件名的时候,该数据在磁盘上才会删除
-对文件附加权限和查看权限
setfacl -u:user1:rw afile 对afile文件赋予用户user1的读写权限
getfacl afile 查看afile文件的附件权限
9、1、4 磁盘分区与挂载
+ 常用命令
+ fdisk
+ mkfs
+ parted
+ mount
+ 常见的配置文件
+ /etc/fastab
9、1、5 用户磁盘配额
-在文件之间建立连接,可以产生关系,产生不同文件,i结点不同,删除文件只是断开i节点与文件的联系
ln -s afile aafile 软连接其实是文件索引的索引。当源文件afile 删除之后,其实磁盘数据文件还在,aafile 也无法使用。
ln -d afile aafile 硬连接如果删掉源文件afile,那么磁盘上数据文件时不会删除的。因为i节点上记录了该文件的硬链接数。只有硬链接数是0的时候,删除文件名的时候,该数据在磁盘上才会删除
-对文件附加权限和查看权限
setfacl -u:user1:rw afile 对afile文件赋予用户user1的读写权限
getfacl afile 查看afile文件的附件权限
未完待续-------------