linux基础命令
linux的目的:
1,自动化运维
2,CMDB
3,项目发布上线
运维:
1,数据不能丢失
2, 7*24不间断
3, 提高服务运行效率
尺寸,单位:
1u = 1.75英尺 = 4.445cm 宽度
2u
4u
服务器的内部组成
电源
双路或多路电源 UPS 蓄电池 发电机 自备油罐
CPU
1路 = 1个 2路 4路
核心数量不等于个数
中央处理器
常见品牌:inter AMD
内存
断电丢失
速度快
为了平衡CPU 和硬盘的速度差异
常见的 1600 2300
buffer 缓冲区 将数据写入内存时 称为缓冲
cache 缓存 从内存读取数据 叫缓存
硬盘
访问速度慢
成本低
接口分类:
sata scsi sas PCI-E 代表:MAC
服务器要保证数据不能丢
raid 磁盘阵列
1.保证数据安全
2.提高访问效率
raid0
就是普通磁盘 没有什么策略 坏了数据就没了, 存储一些非重要数据
效率比较高
raid1
镜像 完全备份
两个磁盘数据一致
可以保证数据安全
容量浪费一半
raid3
使用单独的磁盘来存储奇偶校验的数据
性能较低 因为受到偶校验数据所在磁盘的性能限制
raid5
常规款
相互存储对方的奇偶校验数据
性能 比raid3更高
raid10 01
效率200% 与raid0 ,容量浪费一般
土豪专用款
一些关于linux的简单的命令:
修改网卡命名规范:
修改网卡
1.修改配置文件名称
/etc/sysconfig/network-scripts/ 名称为:ifcfg-xxx
2.修改配置文件内的 device 和name
3.修改内核参数
vi /etc/sysconfig/grub
quiet 前加入 net.ifnames=0 biosdevname=0
4.更新参数
grub2-mkconfig -o /boot/grub2/grub.cfg
5.重启
shutdown -r now
重启系统
关机:
shutdown
shoudown -h 10 指定多少时间关机
shotdown -r 10 指定多少时间后重启
shutdown -r 0/now 表示进行立即重启操作
shutdown -c 取消重启方案
man mannual 帮助手册
man xxx(莫莫莫)来看这个xxx有什么相关操作
关机重启的其他方法:
halt (注意避免使用。只是关闭系统, 不关闭电源)
poweroff
init 0
重启
shutdown -r now
退出:
logout / exit
其他的命令
pwd (显示目录)
cd(切换)
mkdir(创建目录信息) 如: mkdir / oldboy
touch(摸, 创建文件)
ls = list(目录详情)
ll
cat 查看文件信息命令
echo 将信息进行输出:如: echo "hello world"
[root@oldboysh03-znb oldboy]# echo hello world > /oldboy/oldboy.txt [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt hello world [root@oldboysh03-znb oldboy]# echo oldboyedu.com > /oldboy/oldboy.txt [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt oldboyedu.com [root@oldboysh03-znb oldboy]# echo oldboyedu02.com >> /oldboy/oldboy.txt [root@oldboysh03-znb oldboy]# cat /oldboy/oldboy.txt oldboyedu.com oldboyedu02.com
cp --copy
# 将/etc/hosts文件复制到/oldboy目录中 常见问题: 在复制文件时,不要再文件名称后面加上/ 一般只有目录后面有/ [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy [root@oldboysh03-znb oldboy]# ll /oldboy/ total 16 drwxr-xr-x. 3 root root 18 Dec 5 09:33 hedanchun -rw-r--r--. 1 root root 158 Dec 5 10:53 hosts -rw-r--r--. 1 root root 30 Dec 5 10:17 oldboy.txt -rw-r--r--. 1 root root 42 Dec 5 10:41 olddog.txt drwxr-xr-x. 2 root root 6 Dec 5 09:31 oldgirl -rw-r--r--. 1 root root 12 Dec 5 10:40 oldgirl.txt [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy01 [root@oldboysh03-znb oldboy]# ll /oldboy01 -rw-r--r--. 1 root root 158 Dec 5 10:53 /oldboy01 正确复制文件方法 [root@oldboysh03-znb oldboy]# cp /etc/hosts /oldboy/ cp: overwrite ‘/oldboy/hosts’? y 说明:文件没有存在会直接复制, 如果已经存在会提示是否覆盖 如何正确复制目录信息 [root@oldboysh03-znb oldboy]# cp /etc/sysconfig/ /oldboy/oldgirl/ cp: omitting directory ‘/etc/sysconfig/’ [root@oldboysh03-znb oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl/ [root@oldboysh03-znb oldboy]# ll /oldboy/oldgirl total 4 drwxr-xr-x. 6 root root 4096 Dec 5 11:03 sysconfig
对文件或目录数据信息进行移动的操作
move -- mv mv 参数 要移动数据信息 移动到什么位置 移动/etc/selinux/config 到 /oldboy/shanghai/ [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai ls: cannot access /oldboy/shanghai: No such file or directory [root@oldboysh03-znb oldboy]# mkdir /oldboy/shanghai [root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/ [root@oldboysh03-znb oldboy]# ls /oldboy/shanghai/ config
[root@oldboysh03-znb oldboy]# mv /etc/selinux/config /oldboy/shanghai/ mv: cannot stat ‘/etc/selinux/config’: No such file or directory [root@oldboysh03-znb oldboy]# mv /oldboy/shanghai/config /etc/selinux/ [root@oldboysh03-znb oldboy]# ls /etc/selinux/ config final semanage.conf targeted tmp 可以对文件信息进行重命名操作 [root@oldboysh03-znb oldboy]# ls hedanchun hosts oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai [root@oldboysh03-znb oldboy]# mv hosts hosts01 [root@oldboysh03-znb oldboy]# ls hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai 7)数据的删除命令 remove -- rm rm 参数 要删除的数据信息 # 删除oldboy目录中的hosts01文件 [root@oldboysh03-znb oldboy]# ls hedanchun hosts01 oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai [root@oldboysh03-znb oldboy]# rm hosts01 rm: remove regular file ‘hosts01’? y [root@oldboysh03-znb oldboy]# ls hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai # 删除目录操作 [root@oldboysh03-znb oldboy]# ls hedanchun oldboy.txt oldboy.txt.bak olddog.txt oldgirl oldgirl.txt shanghai [root@oldboysh03-znb oldboy]# rm shanghai/ rm: cannot remove ‘shanghai/’: Is a directory [root@oldboysh03-znb oldboy]# rm -r shanghai/ rm: remove directory ‘shanghai/’? y # 如何强制删除数据信息 [root@oldboysh03-znb oldboy]# rm -f olddog.txt [root@oldboysh03-znb oldboy]# ls olddog.txt ls: cannot access olddog.txt: No such file or directory [root@oldboysh03-znb oldboy]# rm -fr hedanchun [root@oldboysh03-znb oldboy]# ls hedanchun -d ls: cannot access hedanchun: No such file or directory [root@oldboysh03-znb oldboy]# rm -fr / oldboy/oldboy.txt rm: it is dangerous to operate recursively on ‘/’ rm: use --no-preserve-root to override this failsafe [root@oldboysh03-znb oldboy]# rm -fr / --no-preserve-root 说明:默认从centos6.7 开始就有/目录自我保护机制
与Windows的区别
在Linux中,没有盘符,一切都从根开始,
如图:
挂载
挂载是指使用操作系统可以访问莫一个存储设备的过程,一句话总结就是分配一个路径给存储设备,等同于Windows下的指定盘符
目录详细
目录 说明 备注 bin 存放普通用户可执行的指令 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 etc 各种配置文件目录 大部分配置属性均存放在这里 lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库 media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录 mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言 opt 第三方软件安装目录 现在习惯性的放置在/usr/local中 proc 虚拟文件系统 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来 root 系统管理员主目录 除root之外,其他用户均放置在/home目录下 run 系统运行是所需文件 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据 sbin 只有root才能运行的管理指令 跟bin类似,但只属于root管理员 snap ubunut全新软件包管理方式 snap软件包一般在/snap这个目录下 srv 服务启动后需要访问的数据目录 lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 sys 跟proc一样虚拟文件系统 记录核心系统硬件信息 tmp 存放临时文件目录 所有用户对该目录均可读写 usr 应用程序放置目录 var 包括系统一般运行时要改变的数据.例如各种日志记录,邮件来往等,每个系统是特定的,不通过网络与其他计算机共享.
etc下文件的重要文件
主机名称的获取与修改
获取主机名称
uname -n
hostname
获取全部系统信息
uname -a
hostnamectl #更详细
设置主机名称
hostnamectl set-hostname name
重新连接生效 也可以使用bash创建子shell 是一个新的会话环境所以可以立即显示新的主机名称
字符编码设置
查看当前字符集
echo $LANG
$表示表示要查看某个环境变量 变量名称为LANG
临时修改字符集
export LANG=en_US.UTF-8
export 命令可以修改当前会话下某个环境变量的值,登出后失效
测试是否生效
type if
type 是用于输出某个值的类型 与py的type类似,查看其是否显示英文/中文
永久修改字符集
1.修改配置文件
vim /etc/locale.conf
2.命令行修改
localectl set-locale LANG=en_US.UTF-8
注意:以上两种方式修改后都不会立即生效,需要重新加载配置文件
source /etc/locale.conf # 当然重新启动也可以
修改运行级别
运行级别用于控制系统运行在何种状态下
查看当前级别
查看详细信息
ll /etc/systemd/system/default.target
vim /etc/systemd/system/default.target
仅级别
systemctl get-default
runlevel #centos 6
查看所有可用级别
ll /usr/lib/systemd/system/runlevel*.target
ll /etc/inittab #centos 6
修改当前级别
init 5 # 修改为第五个级别,使用systemctl get-default来查看效果,发现该方式在centos7下不生效
systemctl set-default graphical.target
graphical.target 也可以修改为文件名称
systemctl set-default runlevel3.target
注意:通常运行在3级别
设置别名
别名指的是 给某个指令设置别名,可用简化命令的编写,或是提供额外的功能
例如 系统的在执行删除指令前都会先提示,其实就是使用了别名,
查看别名
alias
设置新的别名(临时)
alias rm='echo rm is dangerouse be careful' # 执行rm时仅提示信息
注意:被替换的也一定是一个命令,所以当你要输出内容时,就用echo
alias rm='echo rm is dangerouse be careful;rm -f' # 执行rm时提示信息 并删除
设置新的别名(永久)
在配置文件中编写 设置别名的指令
vim /etc/profile
退出vmi,重新加载文件
source /etc/profile
如果别名与系统重复,需要注释其中一个
vim ~/.bashrc
注释同名的 #alias rm ='rm -i'
source ~/.bashrc
系统默认配置文件(环境变量)
1.全局的
/etc/profile 该文件在用户登录时加载 无论哪个用户
/etc/bashrc 该文件在系统启动时自动加载 无论哪个用户
2.用户自己的 只针对某个用户有效
~/.bash_profile
~/.bashrc
设置变量 环境变量
查看所有变量
env
查看某个变量
echo $变量名称
设置临时变量
export 变量名=值
设置永久变量
将变量的定义放到某个环境变量文件中
vim /etc/profile
MYNAME=jerry
测试
echo $MYNAME
取别名的优化案例:
cat >>/etc/profile.d/color.sh<<"EOF"
alias ll='ls -l --color=auto --time-style=long-iso'
PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'
EOF
source /etc/profile
usr目录
/usr/local 编译安装软件默认的路径
/usr/src 存放源码文件的路径
软件安装
yum方式
yum是通常发行版的linux系统都内置了yum包管理器,使用它可以很方便的管理软件包,必须联网使用
安装
yum install -y sl
搜索
yum search sl
删除
yum remove sl
查看命令所在软件包
yum provides sl
查看源仓库
yum repolist
rpm方式
全称 redhat packages manager ,是一个本地的包管理器,需要提供安装文件
1.安装一个rpm包:
用法:rpm -ivh rpm_name
参数解释: -i(install):安装软件包。 -v(verbose):显示安装的过程信息。可视化。 -h(hash):软件安装的时候列出哈希标记。即显示安装进度。 另外在安装一个rpm包时常用的附带参数有: --force : 强制安装,即使覆盖属于其他包的文件也要安装
2.卸载一个rpm包
命令:rpm -e filename
3.查询一个包是否安装:
命令:rpm -qa rpm包名
4.列出一个rpm包安装的所有文件
命令 rpm -ql 包名
5.列出一个rpm包的配置文件
命令 rpm -qc 包名
6.查看命令所在的绝对路径
which netstat
7.查看文件归属软件包
rpm -qf /usr/bin/netstat
编译安装源码
当我们下载的是一个tar的源码文件时,需要先编译后才能进行安装,详见笔记:
var
porc
查看负载信息
w
uptime
dev
zero 可以用中读取任一大小的null 空数据,用于模拟数据流,或是作为黑洞设备,创建大文件,测试传输速率等
null 将一些不需要的数据重定向到该设备,以避免打印信息到屏幕
修改配置文件后 需要source
环境变量配置文件
1.全局的
/etc/profile
/etc/bashrc
2.用户独享的
~/.bash_profile
~/.bashrc
软件包的安装方式
1.yum 基于网络
install remove search -y
provides netstat
2.rpm 基本本地安装包的管理器
rpm -ivh rpm包的路径
rpm -e 包名
3.编译安装
适用于源码安装
.configure 配置文件 用来指定编译相关的参数
make 编译
make install
创建软连接 (忽略版本信息)
添加到环境变量
PATH=$PATH:你的bin路径
export PATH
今日内容
linux文件类型
一切皆文件
- 普通文件
d 目录
l 链接文件
p 管道文件
c 字符设备 (键盘 打印机)
b 块设备 (u盘 硬盘 CD 存储设备)
s socket文件
txt 文本
log 日志文件
cfg conf configure xml 配置文件
sh csh shell脚本
py python脚本
后缀对于linux系统没有任何意义
windows中用于关联应用程序
硬链接
每一个文件存储在linux中
都有一个节点信息和磁盘上的真实数据
访问数据时都是先查找节点信息 在读取节点中
物理地址从而找到对应的数据
硬链接指的是 完全的复制了一份节点数据
特点: 两个节点指向同一个物理地址
其中一个进行了修改 也会 同步反映到另一个硬连接中
软连接
是指向了另一个节点信息(硬链接)
共同点都不会占用多余的内存
硬链接 可以防止数据被直接删除
当服务器运行了很长时间后 可能会出现磁盘已满的问题但是当你查看容量时发现还有空闲容量
可能是因为inode节点不够用了,是由于小文件过多造成的
使用find 来查找小文件 进行清理
如果确实视容量不足 我们可以删除无用大文件
使用du命令查找
du / -sh |grep G # 查找超过一个G的文件
然后一步一步跟踪找到对应文件进行清理
posted on 2019-05-06 18:37 苏打🐶 阅读(326) 评论(0) 编辑 收藏 举报