Liinux学习总结

 

  • 目录

    Linux与Windows的区别

    Linux的目录功能

    Linux常用命令总结命令格式与目录处理命令ls

    RPM包-yum在线管理

    rpm软件包管理简介

    VIM常用操作

    vim小技巧

    vi命令

    服务器注意事项

    脚本安装包

    源码包的安装


    Linux与Windows的区别

Linux严格区分大小写   跟Windows区别
Linux所有内容都以文件形式保存,包括硬盘.硬件文件/dev/sd[a-p]  光盘文件/dev/sr0
Linux没有扩展名
ls/bin/  常用的系统命令.
ls/etc/  常见配置文件
每一种软件都有自己的后缀名Linux没有这种概念

Linux不靠扩展名区分文件类型
有时可以更直观的管理类型,写不写扩展名无所谓.但是常见类型写可以更清晰地使用.
Linux所以存储设备都必须挂载后才能使用.把设备名与文件名合成挂载.手工分配盘符.
Windows下的程序不能直接在Linux中安装和运行

不同操作系统文件不易交互

 

  • Linux的目录功能

/bin/ :存放系统命令的目录,普通用户和超级用户都可以执行.不过放在/bin下的命令在单用户模式下也可以执行
/sbin/ :保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户观看
/usr/bin/:存放系统命令的目录,普通用户和超级用户都可以执行.这些命令和系统启动无关,在单用户模式下不能执行.
/usr/sbin/存放根文件系统不必要的系统管理命令,例如多数服务程序.只有超级用户可以使用.
/boot/:系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等

/dev/:设备文件保存位置.Linux所有内容都以文件形式保存,包括硬件.这个就是来保存所有硬件设备文件的.

/etc/:配置文件保存位置.系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部都保存在这个目录中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等.
/home/:普通用户的家目录.建立每个用户时,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录,所有普通用户的家目录就是在/home下建立一个和用户名相同的目录.
/lib/:系统调用的函数库保存位置
/media/:挂载目录.
/mnt/:挂载目录,早期Linux中只有这一个挂载目录,并没有细分.
/usr/local/:软件保存位置(第三方)
/proc/:虚拟文件系统,该目录中的数据并不保存到硬盘中,而是保存到内存当中.主要保存系统的内核,进程,外部设备状态和网络状况等.保存cpu信息,设备驱动,文件系统列表,网络协议
/sys/虚拟文件系统
/root/超级用户的家目录.
/tmp/临时目录
/usr/系统软件资源目录
/var/动态数据保存位置.主要保存缓存,日志等

  • Linux常用命令总结命令格式与目录处理命令ls

命令格式 :  命令[-选项][参数]

 例: ls -la /etc

 说明 个别命令使用不遵循此格式
 当有多个选项时可以写在一起.
 简化选项与完整选项 -a等于--all

隐藏文件不用经常找,不用不找

命令:ls
名称:ls
英文:list
命令所在路径:/bin/ls
执行权限所有用户
功能描述:显示目录文件
语法: ls选项[-ald][文件或目录]
       -a 显示所有文件,包括隐藏文件
       -l 详细信息显示
       -d 查看目录属性
-rw-r--r--
-文件类型(-二进制文件d目录l软连接文件)
rw-  r--  r--
u   g   o
u所有者 g所属组 o其他人
r读  w写  x执行
-d 目录信息
-a隐藏文件查询
-h选项的意思是生成的结果有利于人看,也就是不是用默认的byte做单位,而是根据实际情况调整。
目录处理命令


命令名称:mkdir
英文: make directories
命令所在路径; /bin/mkdir
执行权限: 所有用户
语法: mkdir -p[目录名]
功能描述:创建新目录
    -p递归创建
mkdir -p /tmp/japan/boduo   多级创建目录


命令名称:cd
英文:change directory
命令所在路径: shell内置命令
执行权限:所有用户
语法:cd[目录]
功能描述:切换目录
cd  /tmp/japan/boduo   切换到指定目录
cd ..  回到上一级目录.空格点点
命令名称:pwd
英文:print working directory
命令路径: /bin/pwd
执行权限:所有用户
语法: pwd
功能描述:显示当前目录
pwd  /tmp/japan 显示绝对目录


命令名称:rmdir
英文: remove empty directories
命令路径: /bin/rmdir
执行权限:所有用户
语法:rmdir[目录名]
功能描述:删除空目录
rmdir  /tmp/japan   删除空目录


命令名称:cp
英文:copy
路径:/bin/cp
执行权限:所有用户
语法: cp -rp[原文件或目录][目标目录]
     -r 复制目录
     -p保留文件属性
功能描述:复制文件或目录
cp -r /tmp/japan/longze /root/longxie    复制并更改文件名


命令名称:mv
英文: move
路径:/bin/mv
执行权限:所有用户
语法:mv[原文件或目录][目标目录]
功能描述:剪切文件 改名


命令名称:rm
英文:remove
路径: /bin/rm
执行权限:所有用户
语法: rm -rf[文件或目录]
    -r删除目录
    -f强制执行
功能描述:删除文件
rm -rf /tmd/qwe  删除一个目录


文件处理命令

命令名称: touch
路径: /bin/touch
执行权限: 所有用户
语法: touch[文件名]
功能描述:创建空文件
touch japan.list创建文件


命令名称:cat
路径:/bin/cat
执行权限:所有用户
语法: cat[文件名]
功能描述: 显示文件内容
     -n显示行号


命令名称: tac
路径: /usr/bin/tac
执行权限:所有用户
语法:tac[文件名]
功能描述:显示文件内容(反向列示)


命令名称:more
路径: /bin/more
执行权限:所有用户
语法: more[文件名]
    (空格)或f 翻页
    (Enter)   换行
    q或Q       退出
功能描述:分页显示文件内容
more  /etc/services 分页

命令名称:less
路径: /usr/bin/less
执行权限:所有用户
语法:less[文件名]
功能描述:分页显示文件内容(可向上翻页)
less /etc/services  可以向上
pgup 上翻页.可以搜索/**关键词会反白显示  搜索到后按n下一个匹配的关键词


命令名称:head
路径:/usr/bin/head
执行权限:所有用户
语法:head[文件名]
功能描述:显示文件前面几行   默认前10行
    -n指定行数
head -n 20 /etc/services   显示20行数据


命令名称 tail
路径:/usr/bin/tail
执行权限:所有用户
语法:tail[文件名]
功能描述:显示文件后面几行
    -n指定行数        没有默认10行
    -f动态显示文件末尾内容
tail -n 3 /***    显示最后三行   

命令名称:chmod
英文:change the permission mode of a file
路径: /bin/chmod
执行权限:所有用户
语法: chmod[{ugoa}{+-=}{rwx}][文件或目录]  
    [mode=421][文件或目录]
    -R 递归修改
功能描述:改变文件或目录权限
权限数字表示 r----4 
             w----2
          x----1 
         rwxrw-r-- 
          7  6 4
r   读权限  可以查看文件内容 可以列出目录中的内容
w   写权限   可以修改文件内容 可以在目录中创建,删除文件
x    执行权限  可以执行文件   可以进入目录
对目录有写权限就可以删除目录下创建删除文件.

命令名称:chown
英文:change file ownership
路径: /bin/chown
执行权限:所有用户
语法: chown[用户][文件或目录]
功能描述:改变文件或目录的所有者

命令名称:chgrp
英文:change file group ownership
路径: /bin/chgrp
执行权限:所有用户
语法:chgrp[用户组][文件或目录]
功能描述:改变文件或目录的所属组

命令名称 umask
英文: the user file-creation mask
路径: Shell内置命令
执行权限:所有用户
语法 umask[-S]
     -S 以rwx形式显示新建文件缺省权限
功能描述: 显示,设置文件的缺省权限

命令名称: find
路径: /bin/find
执行权限:所有用户
语法: find[搜索范围][匹配条件]
功能描述:文件搜索
  -name 根据文件名搜索分大小写 *任意字符 ???单个字符 
  -iname不分大小写
  -size +n 大于 -n小于 n等于  +204800 在根目录下查找大于100mb文件
    一个数据块 512字节 0.5k   100MB=102400kb=204800
  -user *** 在根目录下查找所有者为***的文件
  -group 根据所属组查找
  -cmin -5 在**下查找5分钟内被修改过属性的文件和目录
  -amin 访问时间access   ***访问过
  -cmin 文件属性change   文件所有的ls信息
  -mmin 文件内容modify     文件内容改变
  -size +163840 -a -size -204800    大于80mb小于100mb文件
  -a 两个条件同时满足,多加条件
  -o两个条件满足任意一个即可
  -name inittab -exec ls -l{}\;    在***下查找inittab文件显示其详细信息
  -exec/-ok 命令{}\; 对搜索结果执行操作
  -type 根据文件类型查找 f文件 d目录 l软连接文件
  -inum 根据i节点查找   ls -i查找i节点  每个文件有自己的i节点

命令名称:locate
路径: /usr/bin/locate
执行权限:所有用户
语法: locate 文件名
功能描述: 在文件资料库中查找文件
locate -i部分大小写

命令名称:which
路径:/usr/bin/which
执行权限:所有用户
语法:which命令
功能描述:搜索命令所在目录及别名信息

命令名称:whereis
路径 /usr/bin/whereis
执行权限:所有用户
语法:whereis[命令名称]
功能描述:搜索命令所在目录及帮助文档路径

*****************************
命令名称:grep
路径:/bin/grep
执行权限:所有用户
语法:grep -iv[指定字串][文件]
功能描述:在文件中搜寻字串匹配的行并输出
    -i 不区分大小写
    -v 排除指定字符
    
************重点***********
命令名称:man
英文:manual
路径: /usr/bin/man
执行权限: 所有用户
语法: man[命令或配置文件]
功能描述: 获得帮助信息
man ls  查看ls命令的帮助信息
man services 查看配置文件services的帮助信息
/ -* 查找单个命令,空格翻页 n下一个    不需要加绝对路径
1---命令的帮助   5----配置文件的帮助

命令名称:help
路径:shell内置命令
执行权限:所有用户
语法:help命令
功能描述:获得shell内置命令的帮助信息
help umask 查看***命令的帮助信息


info 查找信息
whatis 命令   可以获得简单的命令信息
apropos 配置文件  可以获得配置文件的相关信息
0  特殊权限
022  --- -w- -w-
链接命令
多个ip地址 ens33:1->  1代表第几个ip地址

命令名称:useradd
路径: /use/sbin/useradd
执行权限root
语法: useradd用户名
功能描述:添加新用户

命令名称:passwd
路径: /usr/bin/passwd
执行权限:所有用户
语法:passwd用户名
功能描述:设置用户密码

命令名称:who
路径 /usr/bin/who
执行权限:所有用户
语法 who
功能描述:查看登录用户信息

命令名称:w
路径 /usr/bin/w
执行权限:所有用户
语法:w
功能描述:查看登录用户详细信息

命令名称:gzip
路径: /bin/gzip
执行权限:所有用户
语法: gzip[文件]
功能描述:压缩文件
压缩后文件格式:.gz   压缩了之后原文件没了,只能压缩文件不能压缩目录

命令名称:gunzip
路径:/bin/gunzip
执行权限:所有用户
语法:gunzip[压缩文件]
功能描述:解压缩.gz的压缩文件 

命令名称:tar
路径 /bin/tar
执行权限:所有用户
语法 tar选项 [-zcf][压缩后文件名][目录]
    -c   打包 
    -v   显示详细信息
    -f   指定文件名

    -z   打包同时压缩
    -x   解包
    -f   指定解压文件
    -z   解压缩
    -v   显示详细信息
    -t   查看打包信息
功能描述:打包目录
tar -cjf japan.tar.bz2 japan
tar -cvf tes.tar /etc 需要打包的目录  打包成tes.tar


命令名称:zip
路径 /usr/bin/zip
执行权限:所有用户
语法:zip 选项[-r][压缩后文件名][文件或目录]
    -r  压缩目录
功能描述: 压缩文件或目录
压缩后格式:  .zip

命令名称: unzip
路径: /usr/bin/unzip
语法: unzip[压缩文件]
功能描述: 解压.zip的压缩文件   不分目录还是文件

命令名称:bzip2
路径 /usr/bin/bzip2
执行权限:所有用户
语法 bzip2 选项[-k][文件]
        -k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后格式: .bz2

压缩后格式:.tar.gz   打包不是压缩

命令名称:write
路径: /usr/bin/write
执行权限:所有用户
语法 write<用户名>
功能描述: 给用户发信息,以Ctrl+D保存结束

命令名称:wall
英文: write all
路径: /usr/bin/wall
执行权限:所有用户
语法:wall[message]
功能描述:发广播信息

命令名称:ping
路径: /bin/ping
执行权限 所有用户
语法 ping 选项 IP地址
    -c  指定发送次数
功能描述: 测试网络连通性

命令名称: ifconfig
英文: interface configure
路径: /sbin/ifconfig
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述: 查看和设置网卡信息
eth0 真实网卡  lo回环地址

命令名称 mail
路径: /bin/mail
执行权限 所有用户

命令名称:last
路径: /usr/bin/last
执行权限:所有用户
语法: last
功能描述:列出目前与过去登入系统的用户信息   重要日志文件

命令名称:lastlog
路径: /usr/bin/lastlog
执行权限:所有用户
语法lastlog
功能描述: 检查某特定用户上次登录的时间
    -u  502 加上用户的uid

命令名称: traceroute
路径 /bin/traceroute
执行权限:所有用户
语法:traceroute
功能描述: 显示数据包到主机间的路径   查询访问的地点,访问地址过程ip

命令名称:netstat
路径 /bin/netstat
执行权限:所有用户
语法:netstat[选项]
功能描述 :  显示网络相关信息
选项 
     -t : TCP协议   稳定
    -u : UDP协议   更快 不稳  
    -l : 监听
    -r : 路由
    -n : 显示ip地址和端口号
# netstat -tlun    查看本机监听的端口
# netstat -an      查看本机所有的网络连接
# netstat -rn      查看本机路由表
发起端口随机  收端口固定的

命令名称 setup
路径 /usr/bin/setup
执行权限:root
语法setup
功能描述:配置网络

sudo 命令语法
sudo [-bhHpV][-s ][-u <用户>][指令]

sudo [-klv]
参数
  -b  在后台执行指令。
  -h  显示帮助。
  -H  将HOME环境变量设为新身份的HOME环境变量。
  -k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
  -l  列出目前用户可执行与无法执行的指令。
  -p  改变询问密码的提示符号。
  -s  执行指定的shell。
  -u  <用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
  -v  延长密码有效期限5分钟。
  -V  显示版本信息。
  -S  从标准输入流替代终端来获取密码
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。

命令名称 挂载命令
路径 /bin/mount
执行权限:所有用户
语法: mount [-t 文件系统]设备文件名 挂载点
# mount -t iso9660 /dev/sr0/mnt/cdrom

命令名称 shutdown  
  shutdown[选项]时间    会正确保存关机前数据
选项: 
    
    -c: 取消前一个关机命令
    -h:关机
    -r:重启
其他关机命令:halt   poweroff  init ()
其他重启:  reboot  init 6
系统运行级别
0    关机
1    单用户--------------最小系统
2    不完全多用户,不含NFS服务    无网络
3    完全多用户----------最小系统
4    未分配
5    图形界面
6    重启
X一般都是图形界面
cat /etc/inittab id:3:initdefault:    修改系统默认运行级别
runlevel   查询系统运行级别   init * 改变级别

ps -aus 所有的进程

cal查看日历

ln -s 软链接 (源文件 新文件)
ln  (源文件 新文件)硬链接

free -m -h查看内容占内存大小。 m-mb h-g
history 查看之前输入过的命令


命令名称logout   操作完了一定要退出登录
功能描述 退出登录

 >课添加多个覆盖文件覆盖
 >> 叠加 
cat 原文件名>覆盖文件名
echo 输出一串字符
wc -l 统计一个文件多少行
grep 过滤文   grep‘r’ /etc/   
    ps aux | grep 'init' | grep -v 'grep'反向过滤 查看没有包含grep文件 


kill杀死进程   后面加进程代号
kill -9 pid强制杀死   可以杀死工作号  也可以杀死pid
firefox &   后台打开----工作号
fg % 工作号,代表后台程序调到前台运行
bg % 工作号直接在后台运行
jobs  查看工作号
pstree 查看进程树   pstree | grep 'bash'
pkill -9 进程名
vi  只能编辑文件
vim 可以编辑目录下的文件
pgrep ‘bash’ 过滤出进程的pid
fdisk -l /dev/sdb查看硬盘信息   不加命令选择硬盘可以创建分区
partprobe 更新分区列表
mkfs.ext4 格式化系统,扩展分区不能格式
dd if=/dev/sda1 of=/opt/test bs=1G count=1   硬盘文件拷贝   不能写太大的文件

显示当前路径du
显示当前所用内存df -h

登录用户名 tty本地终端  pts远程终端  登录时间 ip地址
减少使用搜索命令,搜索精度要高.不要再高峰期搜索
文件把人分三类.所有者只能有一个所属组,所属者,其他人.
默认大小字节

  • RPM包-yum在线管理

yum在线管理
解决安装依赖性
虽然方便,yum不是必须上网,可以用光盘当做本地.yum在很多公司当做售后服务,需要掏一定的费用,但centos不用,别的有可能需要.
没有yum这个包    rpm手工安装  yum在线安装

因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。
两者的不同,在于CentOS并不包含封闭源代码软件。
1.IP地址配置和网络yum源
  IP地址配置
  setup  #使用setup工具

vi /etc/sysconfig/network-scripts/ifcfg-eth0   #配置文件
    把ONBOOT="NO"改为
    ONBOOT="yes"    #启动网卡

    service    network    restart   
    #重启网络服务
  网络yum源
    vi /etc/yum.repos.d/CentOS-Base.repo
    [base]        容器说明,一定要放在[]中
    name        容器说明,自己可以随便写
    mirrorlist    镜像站点,这个可以注释掉
    baseurl        我们的yum源服务器的地址,默认是Centos官方的yum源服务器,是可以使用的.
                        如果你觉得慢可以改成你喜欢的yum源地址
    enabled        此容器是否生效,如果不写或携程enable=1都是生效,写成enable=0就是不生效
    gpgcheck    如果是1是指RPM的数字证书生效,如果0则不生效
    gpgkey        数字证书的公钥文件保存位置.不用修改
联网用CentOS-Base.repo   没联网用 CentOS-Media.repo

2.yum命令
查询        yum list
#查询所有可用软件安装包

yum groupinstall '开发工具'安装工具包
yum        serach关键字

yum -y install 包名
选项:
    install        安装
    -y        自动回答yes
    update    ***包名    升级
    remove  ***包名 卸载
wget 加上下载地址可以在线下载


安装原则  最小化安装  手工装  不要用yum卸载或者升级用什么装什么

YUM软件组管理命令
yum grouplist         #列出所有可用的软件组列表
yum groupinstall  软件组名    #安装指定软件组,组名可以有grouplist查询出来
yum groupremove 软件组名  #写在指定软件组
如果软件组名中有空格 要用双引号把软件包名括起来

光盘yum源搭建
    挂载光盘 mount /


修改光盘yum源文件
vim CentOS-Media.repo
#
baseurl=file:///mnt/room  挂载地址
注释不存在的地址
把enabled=0改为enabled=1,让这个yum源配置文件生效

修改/etc/yum.repos.d
改变其他yum源后缀使其文件失效
#搜索服务器上所有和关键字相关的包

部署服务的步骤
    1.准备环境
        关闭防火墙:service iptables stop (chkconfig iptables off)
        service iptables status 查看防火墙状态
        关闭selinux : setenforce 0(vim /etc/sysconfig/selinux)SELINUX=disabled
        配置ip地址
    2.安装软件包
    3.修改配置文件
    vim /etc/httpd/conf/httpd.conf 
    DocumentRoot "/var/www/html"
    4.重启服务
    5.测试
tar -f /var/log/messages  系统日志目录
smbpasswd -a 用户名  创建smb用户
usermod -s /sbin/nologin 用户名    拒绝用户登录系统

  • rpm软件包管理简介

                        软件包分类
源码包  
1.开源,如果有足够的能力,可以修改源代码
***2.可以自由选择所需的功能
3.软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
4.卸载方便
缺点:
1.安装过程步骤较多,尤其是安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
2.编译过程时间较长,安装比二进制安装时间长
3.因为是编译安装,安装过程中一旦报错新手很难解决    以后用源码包装,对Linux结构等会有一个提高

RPM包
1.二进制包的优点
2.包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载
3.安装速度比源码包安装的快
缺点
1.经过编译,不在可以看到源代码
***2.功能选择不如源码包灵活
3.依赖性       a-b-c   安装依赖性,安装a就得先安装b安装b就得先安装c.删除也是有顺序a-b-c

                    rpm包管理
rpm包命令管理
1.RPM包命名原则
httpd-2.2.16-15.e16.centos.1.i686.rpm
httpd        软件包名
2.2.15        软件版本
15        软件发布的次数
e16.centos    适合的Linux平台        noarch    适合各种平台
i686        适合的硬件平台
rpm        rpm包扩展名        **给管理员看的应该用.rpm命名.便于管理


RPM包依赖性
树形依赖:  a-->b--c
环形依赖:  a-->b-->c--a        用命令全部一起安装解决
模块依赖:  模块依赖查询网站: www.rpmfind.net

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

RPM安装
rpm -ivh 包全名
选项:
    -i(install)    安装
    -v(verbose)    显示详细信息
    -h(hash)    显示进度
    --nodeps    不检测依赖性   **不能使用,如果使用装完不能用,软件没有底层不能使用
RPM包升级
rpm -Uvh包全名
选项
    -U(upgrade)    升级
RPM包卸载
rpm -e包名
选项    
    -e(erase)    卸载
    --nodeps    不检测依赖性

查询包是否安装
rpm    -q 包名
#查询包是否安装
选项
    -q    查询(query)
rpm    -qa

查询所有已经安装的RPM包
选项
    -a    所有(all)

查询软件包详细信息
rpm -qi包名
选项    
    -i    查询软件信息(information)
    -p    查询未安装包信息(package)

查询包中文件安装位置
rpm -ql包名
信息    
    -l 列表(list)mn8
    -p 查询未安装包信息(package)

查询系统文件属于哪个RPM包
rpm -qf系统文件名
信息
    -f    查询系统文件属于哪个软件包(file)

查询软件包的依赖性
rpm -qR 包名
选项    
    -R查询软件包的依赖性(requires)
    -p查询未安装包信息(package)

RPM包校验
rpm -V已安装的包名
选项    
    -V    校验指定RPM包中的文件(verify)
    S    文件大小是否改变
    M    文件的类型或文件的权限(rwx)是否被改变
    5    文件MD5校验和是否改变(可以看成文件内容是否改变)
    D    设备的中,从代码是否改变
    L    文件路径是否改变
    U    文件的属主(所有者)是否改变
    G    文件的属组是否改变
    T    文件的修改时间是否改变

    c    配置文件(config file)
    d    普通文档(documentation)
    g    "鬼"文件(ghost file)很少见,就是该文件不应该被这个RPM包包含
    l    授权文件(license file)
    r    描述文件(read me)

RPM包中文件提取
    rpm2cpio 包全名|\
cpio -idv .文件绝对路径
rpm2cpio   #将rpm包转换为cpio格式的命令
cpio    #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

cpio选项<文件|设备>
选项
    -i:    copy-in模式,还原
    -d:    还原时自动新建目录
    -v:    显示还原过程
安装和升级用包全名,剩下不用
    脚本安装包
二进制包(RPM包,系统默认包---都是二进制包)  二进制包不能看到源代码

Windows所有软件包都不能直接在Linux中使用

  • VIM常用操作

vim简介
vim是一个功能强大的全屏幕文本编辑器.是Linux/UNIX上最常用的文本编辑器,他的作用是建立,编辑,显示文本文件
vim没有菜单,只有命令

vi filename 进入一个文件   进入命令模式输入i a o     
set number 设计行号
插入命令
a    在光标所在字符后插入
A    在光标所在行尾插入
i    在光标所在字符前插入
I    在光标所在行行首插入
o    在光标下插入新行
O    在光标上插入新行
********定位命令***********
:set nu 设置行号
:set nonu 取消行号
gg    到第一行
G    到最后一行
nG    到第n行
:n    到第n行
$    移至行尾
O    移至行首
***********删除命令**********
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    全文替换指定字符串        g不询问
:n1,n2s/old/new/g 在一定范围内替换指定字符串    c询问
*******保存和退出命令******
:w    保存修改
:w new_filename    另存为指定文件
:wq    保存修改并退出
ZZ    快捷键,保存修改并退出
:q!    不保存修改退出
:wq!     保存修改并退出(文件所有者及root可使用)

  • vim小技巧

导入命令执行结果:r!命令
定义快捷键:map 快捷键触发命令
范例:  :map ^P I#
       :map ^B 0x
连续行注释    :n1,n2s/^/#/g
          :n1,n2s/^#//g
          :n1,n2s/^/\/\//g
替换  :ab mymail [email protected]

  • vi命令

vi命令
    yy:复制
    4yy:复制  光标所在行开始向下4行
    p:粘贴
    dd:删除
    2dd: 光标所在行 向下 2行
    D:从当前的光标开始剪切,一直到行末
    d0:从当前的光标开始剪切,一直到行首
    x:删除当前的光标,每次只删除一个
    o:删除当前的前面那个光标,每次只删除一个

    h:左 l:右 j:下 k:上
    
    H:当前屏幕的上方
    M:当前屏幕的中间
    L:当前屏幕的下方

    Ctrl+f------------>向下翻一页代码
    Ctrl+b------------>向上翻一页代码

    Ctrl+d------------>向下翻半页代码
    Ctrl+u------------>向下翻半页代码

    20G:快速回到定位的第20行
    G: 快速定位到代码最后一行
    gg:快速回到整个代码的第一行

    w:向后跳一个单词的长度,即跳到下一个单词的开始处
    b:向前跳一个单词的长度,即跳到上一个单词的开始处

    u:撤销刚刚的操作
    Ctrl+r:反撤销
    
    选择一片代码
    V:光标经过那那就选中
    v:光标到哪那就被选中


    >>:向右移动的代码
    <<:整体向左移动
    .:执行上一次执行的命令

    {:按段移动,上移
    }:按段移动,下移

    r:智能替换一个
    R:能够从光标处往后一直替换

    / ***: 搜索
    n:下一个搜索
    N:上一个搜索

   :1,16 1-16替换    %s/hello/word/g

    shift+zz 保存并且退出

  • 服务器注意事项

远程服务器不允许关机,只能重启.
重启时应该关闭服务.
不要在服务器访问高峰运行高负载命令
远程配置防火墙时不要把自己踢出服务器:防火墙是一个过滤器.
指定合理地密码规范并定期更新
合理分配权限
*定期备份重要数据和日志

  • 脚本安装包

脚本安装包
    脚本安装包并不是独立的软件包类型,常见安装的是源码包
    是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装.
    非常类似于Windows下软件的安装方式
Webmin的作用
    webmin是一个基于web的Linux系统管理界面,您就可以通过图形化的方式设置用户账号.Apache,dns,文件共享等服务.
下载软件
    http://sourceforge.net/projects/webadmin/files/webmin/
    解压缩,并进入加压缩目录
    执行安装脚本

  • 源码包的安装

区别
    安装之前的区别:概念上的区别
    安装之后的区别:安装位置的不同
RPM包安装位置
/etc/        配置文件安装目录
/usr/bin/    可执行的命令安装目录
/usr/lib/    程序所使用的库函数保存位置
/usr/share/doc/    基本的软件使用手册保存位置
/usr/share/man/    帮助文件保存位置
#大体安装位置

源码包安装位置
安装在指定位置中    一般用/usr/local/软件名/

安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start
service httpd start

源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中.所以只能用绝对路径进行服务的管理
如   /usr/local/apache2/bin/apachectl start

安装准备
    安装C语言编译器   yum install gcc-* glibc-* -y
    下载源码包
http://mirror.bit.edu.cn/apache/httpd/

源码包的保存位置  /usr/local/src/
软件安装位置 /usr/local/
如何确定安装过程报错
    安装过程停止
    并出现error,warning或no的提示
下载源码包
解压缩下载 (tar)    tar xvf Python-3.7.tgz
进入压缩目录

./configure    软件配置与检查   添加编译参数 例如 --prefix 指定安装路径
    定义需要的功能选项
    检测系统环境是否符合安装要求
    把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑


make 编译
make clean清除编译留下的垃圾


make install编译安装

卸载:make uninstall 或 手动删除

你可能感兴趣的:(Liinux学习总结)