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的文件
然后一步一步跟踪找到对应文件进行清理

原文地址:https://www.cnblogs.com/sudaguo/p/10821326.html