文章目录
一、主流Linux版本
Ubuntu
Linux Mint
Fedora Core
openSUSE
Debian
SlackwareLinux
Red Hat(CentOS)
二、文件目录
/:根目录
/boot : boot 配置文件、内核和其它启动 时所需的文件
/etc : 存放系统配置有关的文件
/home : 存放普通用户目录
/mnt : 硬盘上手动 挂载的文件系统
/media : 自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。
/cdrom : 挂载光盘
/opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下
/root : 系统管理员的目录,对于系统来说,系统管理员好比上帝,他可以对系统做任何操作,比如删除你的文件,一般情况下不要使用root用户。
/bin : 存放常用的程序文件(命令文件)。
/sbin : 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。
/usr : 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。
三、SWAP分区:
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
–临时性修改:
sysctl vm.swappiness=10
这里我们的修改已经生效,但是如果我们重启了系统,又会恢复系统默认.
–永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
四、语言
1.查看语言支持
locale -a
2.如果有 zh_CN.utf8 则表示系统已经安装了中文支持,如果没有则需要安装相应的软件包。Ubuntu中安装方式如下:
sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base
3.更改系统语言环境:/etc/sysconfig/i18n
将 LANG= 后面的做更改。
五、安装软件
软件管理 apt ( Advanced Packaging Tool ) , 他可以自动下载、配置、安装软件包;简化了Linux系统上的。Debian及衍生版中都包含了apt , RedHat系列的linux的则使用yum来进行管理,其中Fedora22中Centos7中开始使用dnf 来替代yum。
1.apt
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖
apt的配置文件
/etc/apt/sources.list 设置软件包的获取来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d apt的零碎配置文件
/etc/apt/preferences 版本参数
/var/cache/apt/archives/partial 存放正在下载的软件包
/var/cache/apt/archives 存放已经下载的软件包
/var/lib/apt/lists 存放已经下载的软件包详细信息
/var/lib/apt/lists/partial 存放正在下载的软件包详细信息
软件源配置文件格式:
Ubuntu 软件仓库被分为四个部分:main(主要的), restricted(受限的), universe(广泛的) , multiverse(多元的)
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
①deb表示软件包的格式,可以是 deb 或 deb-src,前者表示所指向的存放 binary 格式(已编译),后者为 sources 格式(原代码)。
②URI,即 Universal Resource Identifier,通用资源标识符,可以是以:file(系统) 、 cdrom(光驱) 、 http 、 ftp、copy 、rsh 、ssh 等几个参数开头的软件包所在位置。
③Distribution 指发行版本号:stable,testing,unstable,sarge,etch,sid 等
④component表示具体的软件包分类:
main:完全遵循 Debian 自由软件准则 即DFSG的软件包;
contrib:软件包均遵循DFSG自由使用原则,但是其使用了某些不符合DFSG的第三方库;
non-free:不符合DFSG的软件包。
2.dpkg
dpkg是Debian软件包管理器的基础,被用于安装、卸载和供给和.deb软件包相关的信息。dpkg本身是一个底层的工具,本身并不能从远程包仓库下载包以及处理包的依赖的关系,需要将包从远程下载后再安装。
DPKG常用命令:
dpkg -i package.deb 安装包
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包
3.yum
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install <package_name>
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
更换yum 源
网易(163)yum源是国内最好的yum源之一 ,下面以就说一下怎么更换
1.首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
3.更换
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
4.运行以下命令生成缓存
yum clean all
yum makecache
4.rpm
rpm是红帽(centos)系统常用的安装RPM文件的命令
- 选项
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
- 常用安装命令
rpm -ivh 安装包名.rpm
忽略依赖和一些覆盖问题安装
rpm -i --force --nodeps 安装包名.rpm
有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。
rpm -i your-package.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp your-package.specs #一个和你的软件包同名的specs文件
cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录
./configure #这一步和编译普通的源码软件一样,可以加上参数
make
make install
六、常用命令
七、基本操作
-
更改主机名称:/etc/sysconfig/network /etc/hosts
查看主机名称:hostname
查看主机ip:hostname -i 或 ip addr 或 ifconfig -
更改系统时区
tzselect – select a time zone
vim /etc/profile
TZ='Asia/Shanghai'
exprot TZ
source /etc/profile
将系统时间同步到硬件系统,执行以下命令
hwclock -w
-r, --show 读取并打印硬件时钟
-s, --hctosys 将硬件时钟同步到系统时钟
-w, --systohc 将系统时钟同步到硬件时钟 -
centOS 6安装中文输入法:
sudo yum install “@Chinese Support”
yum list ibus 列出ibus的所有包信息
yum list ibus-pinyin 列出ibus拼音输入法的包信息
yum install ibus ibus-pinyin 安装输入法的框架ibus及其拼音输入法
比如:yum install ibus ibus-pinyin.x86_64
centOS7:yum install ibus-libpinyin -
更改系统语言环境:/etc/sysconfig/i18n
查看系统支持的语言:locale -a
将 LANG= 后面的做更改。 -
修改ip地址:/etc/sysconfig/network-scripts/ifcig-eth0
DEVICE=“eth0”
BOOTPROTO=“dhcp”
#BOOTPROTO=static
HWADDR=“00:0C:29:19:3D:83”
IPV6INIT=“yes”
NM_CONTROLLED=“yes”
ONBOOT=“yes”
TYPE=“Ethernet”
UUID=“a075ed24-28ff-463e-84f6-06e6e3d023c3”
#IPADDR=192.168.106.134
#DNS1=192.168.106.1
#NETMASK=255.255.255.0
#GATEWAY=192.168.106.1
/etc/init.d/network restart 或 /etc/init.d/networking restart
或重启网络服务:
service network restart
在ubuntu下,还可以指定控制哪个网卡(其中eth0为网卡名):
sudo ifdown eth0
sudo ifup eth0
ubuntu下修改ip:编辑/etc/network/interfaces
默认内容:
auto lo
iface lo inet loopback
修改为动态获取:
auto eth0
iface eth0 inet dhcp
修改为静态分配:
auto eth0
iface eth0 inet static
address 192.168.106.135 --根据自己的实际情况修改
netmask 255.255.255.0
gateway 192.168.106.1
添加域名服务器:打开/etc/resolv.conf文件添加这行: nameserver 202.99.166.4
Ubuntu中网卡不是eth0解决方法:
在/etc/default/grub中,GRUB_CMDLINE_LINUX里添加参数net.ifnames=0 biosdevname=0
然后在命令行执行,update-grub,最后,修改/etc/network/interfaces文件,
将网卡名改为eth0 ,重启系统,网卡名更改成功。 -
解决yum命令和python版本冲突:
查看yum版本:rpm -qa |grep yum
查看python版本: whereis python
使用which yum后出现路径更改yum、yum-update文件中的python版本
使用命令使生效: /sbin/service yum-updatesd restart -
查看Redhat版本信息:more /etc/redhat-release
其他查询:uname -a或 uname -r 或lsb_release -a 或more /proc/version -
SFTP配置
编辑 sshd_config 文件 (文件所在路径:/etc/ssh/ )
启用 PasswordAuthentication 项,值由yes 修改为no
以root 权限重启SSH,命令: /etc/init.d/ssh restart -
配置防火墙
vim /etc/sysconfig/iptables
*filter
#入站的ip过滤
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
#出站ip的过滤
:OUTPUT ACCEPT [0:0]
#以下为防火墙开放的端口
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#开放oracle的1521端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
八、常用工具
1. tar 打包器
在shell命令行下可以使用的文件压缩工具有gzip、bzip和zip
文件类型 | 压缩工具 | 解压工具 |
---|---|---|
.gz | gzip | gunzip |
.bz2 | bzip2 | bunzip2 |
.zip | zip | unzip |
-c 创建
-x 解压缩
-j 对.bz2格式文件
-z 对.gz格式文件
-f 与-c连用用于指定文件名,于-x 连用指定解压缩文件名
-t 显示tar文件中的文件列表
-v 显示进度
2. vi(vim)编辑器
vim编辑器有三中模式:命令模式、输入(编辑)模式、末行模式
① 打开vim编辑器默认进入命令模式
表1 vim编辑器命令模式中常用命令
命令 | 作用 |
---|---|
dd | 删除(剪切)光标所在行 |
5dd | 删除(剪切)从光标开始的5行 |
yy | 复制光标所在行 |
5yy | 复制从光标开始的5行 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
u | 撤销上一步操作 |
p | 将dd或yy过的数据粘贴到光标后面 |
② 当用户输入冒号、斜杠或问号就进入末行模式,退出末行模式按ESC键回到命令模式
表2 vim编辑器末行模式中常用命令
命令 | 作用 |
---|---|
:set ts=4 | 设置缩进为4 |
:set ruler | 显示光标 |
:set nu[mber] | 显示行号 |
:set nonu[mber] | 取消显示行号 |
:syntax on | 关键字高亮 |
:split 其他文件名 | 多文件编辑,Ctrl+W进行窗口切换 |
:vsplit | 垂直分割vim窗口 |
:命令 | 执行该命令 |
:整数 | 跳转到该行 |
: s/字符串1/字符串2 | 将光标所在行第一个字符串1替换成字符串2 |
: s/字符串1/字符串2/g | 将光标所在行所有字符串1替换成字符串2 |
:%s/字符串1/字符串2/g | 将全文中字符串1替换成字符串2 |
?字符串 | 从下至上搜索字符串 |
/字符串 | 从上至下搜索字符串 |
:w /:q / :wq / :q! / :wq! | 分别代表保存 / 退出 / 保存退出 / 强制退出 / 强制保存退出 |
③ 当用户输入 a、i、 o 这三个键其中一个时就进入编辑模式,同样按ESC键退出编辑模式回到命令模式
另外:
- 末行模式和输入模式无法直接切换必须经过命令模式再转换
- 末行模式可以执行系统命令,格式:冒号 感叹号 命令(: ! cat 1.txt)