Linux常用命令--学习过程中总结

1、Linux shell命令学习
(1)、vi /etc/hosts  通过这个命令进入配置hosts
     vi:vi是命令编辑器,会把所有文件都加载到内存中,如果文件大会导致服务器瘫 痪。
(2)、less:less查看文件分页显示,不会将文件全部加载到内存,可以上翻或者下翻-上 下键。    
(3)、vim:文本编辑器,打开一个文件并且可以编辑。
(4)、:wq   通过这个命令退出到输入shell命令界面,保存并退出
(5)、pwd  用于打印当前工作目录的工作路径
     pwd [-p]:显示出确实的路径。
(6)、source  让你当前的设置马上生效
(7)、cp a b 复制命令把文件A的内容复制到B文件下
(8)、cat:命令是整个文件的内容从上到下显示在屏幕上;查看组合文件,合并文件,利 用管道机制。
     cat -n /root/.bash_history  :查询历史命令。
(9)、more:会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键 (space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功 能;
(10)、touch a.txt 建立文件
(11)、rm 删除
      rm -r 递归删除所有文件
(12)、mkdir test 创建目录
      -p:mkdir -p test1/test2/test3/test4;创建目录并且递归创建所需要的目录;
  -m: mkdir -m 711 test2;该命令意思是创建test2目录并且创建权限为rwx--x--x 的目录
(13)、rmdir test 删除空目录
      rmdir -p :删除空目录,连同上一级空目录也删除。
(14)、mv a.txt 移动文件
(15)、cd 切换目录
(16)、head 显示文件前10行
(17)、tail 显示文件后10行
(18)、find  查找文件或者目录信息
(19)、ll/ls 都是列出文件目录,ll列出的文件信息更详细一些,所属的组的信息也显示 出来
      ll和ls -l:相同的作用,显示当前目录下的所有。
  ls / :显示根目录下的所有内容。
(20)、chown apps:apps update_m-vc.vip.com.sh  改变update_m-vc.vip.com.sh文件拥 有的群组,改成apps:apps
chown root:root 文件名 -R:更改当前文件以及所在目录的所有文件。
(21)、scp update_m-vc.vip.com.sh [email protected]:/apps/dat/web/working      从当前服务器拷贝文件到另一个服务器
(22)、chmod:改变文件权限命令
chmod a(all)/g(group)/u(user)/o(other) -r可读4/-w可写2/-x可执行1 xxx.xxx
(23)、sh update_vis.vip.com.sh   执行这个脚本文件就是部署相应的环境
使用sh执行相应的脚本就是在部署
(24)、sed是一种在线编辑器,一次处理一行内容,处理时,把当前处理的行存储在历史 缓冲区中,称为“模式空间[patter space]”,接着用sed命令处理缓冲区内容,处理完 成后,把缓冲区的内容送往屏幕,接着处理下一行,直到文件末尾,文件内容并没有改 变,除非你使用重定向存储传输。sed主要用来自动编辑一个或多个文件,简化对文件的 反复操作,编写转换程序。
-n:使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出 到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被 列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的  sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输出到终端
(25)、export a=" ";设置环境变量。
(26)、du filename:查询系统中该目录的大小(而且会显示子目录的大小)。
              du -h filename:查询文件大小,以人类可读的方式显示。
              du -a name:显示当前目录的大小以及目录下子目录和文件占用磁盘空间的大小。
             du -h -c name:显示几个目录以及目录下的子目录的大小。(不显示子目录中文件 的大小),还要显示他们占用的磁盘空间的总和。
             du -h -s name:显示当前目录占用磁盘空间的大小;
区别:-a显示当前目录中的子目录以及目录中的文件的大小;-s显示当前目录所占磁盘空 间的大小;-c显示几个目录或文件占用的磁盘空间的大小。对于文件来说使用du -c或者du 展示出来结果的区别是使用-c会显示出total。
(27)、 wc filename :查询显示文件的行数、字数以及字节数。
               wc -l filename :查询文件的行数。
               wc -c filename:查询文件的字节数。
               wc -w  filename :查询文件的字数(字:由空白、跳格或换行字符分隔的字符 串)。
               wc -L filename:打印最长行的长度。
(28)、chgrp 属组文件名: 更改文件属组名。
              chgrp [-R] 属组文件名:递归更改文件的属组,将该目录下的所有文件的属组均 更改。
(29)、df file/filename:显示磁盘空间占用情况。
            df -h file/filename:以易读的方式展示磁盘空间占用情况。
            df -aT file/filename:-a是显示所有的文件系统;-T显示文件系统类型 TYPE
            -k 以KBytes的容量显示各文件系统;-m以MBytes的容量显示各个文件系统;-H 是以M=1000K 取代 M=1024K 的进位方式;-I 不用硬盘容量,而以inode的数量来显示。
(30)、fdisk [-l] 装置名称:输出装置的所有的分区的内容。
            fdisk -l :将整个系统的可以搜到的分区列出来。          
(31)、mkfs [-t 文件系统格式] 装置文件名:将装置文件名下格式化为“文件系统格式”的文件系统。make filesystem
(32)、fsck  :filesystem check:用来检查和维护不一致的文件系统,若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
(33)、mount name toname:将name 挂载到toname 中去;
            umount name :卸除name,-f 强制卸除;-n 不升级情况下卸除。
(34)、 yum主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题,其理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、 删除等操作,减少了Linux用户一直头痛的dependencies的问题。 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的依赖性问题,保持与RPM数据库的一致性。
ubuntu系统默认的是apt包管理。linux系统有三种安装方式:
(1)、源码安装  wget  源码地址
源码安装完事之后需要进行设置安装环境,进行配置
(2)、rpm安装
rpm xxxxx.rpm
这种方式安装软件之前必须把该软件所依赖的包安装好,才能安装该软件
(3)、yum安装
yum install rpm包名
不需要去管依赖关系
注:ubuntu系统使用的是deb格式安装文件,所以在安装rpm时候需要进行安装格式转换程序alian,安装以后可以进行安装rpm包


(35)、netstat:显示各种网络信息,如网络连接、路由表和接口状态等信息。




2、shell 脚本学习:
#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。
(1)、变量的定义不需要使用$,当你想使用变量的时候,需要在变量之前使用$,定义变量 时变量名与=之间不能有空格。.
(2)、{}:给所有变量加上花括号。
(3)、readonly 变量名:将该变量设置为只读变量,只读变量的值是不可以改变的。
(4)、unset 变量名:删除该变量。unset不能删除只读变量。
(5)、变量的分类:1)局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有 效,其他shell启动的程序不能访问局部变量。2)环境变量:所有的程序,包括shell启动 的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候 shell脚本也可以定义环境变量。3)shell变量:shell变量是由shell程序设置的特殊变 量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正 常运行。
(6)、字符串单引号和双引号的区别:‘’内变量不可以执行,原样输出;“”内变量可以 执行,可以有变量,可以出现转义字符。
例如:name="emma";echo 'she is $name'===>she is $name;echo "she is $name"; ===>she is emma;
拼接字符串直接连着输出两个变量名即可。
获取字符串的长度使用变量之前加上#:${#a}:输出变量a的长度
提取子字符串,在变量名的后面:起始位置:结束位置eg ${string:1:4}===>trin;
查找子字符串,expr index "$string" in-查找i/n在string中的位置,输出第一个字符 的位置。
(7)、数组:数组下标从0开始
定义如下:数组名=(值1 值2 值3 ... 值4) arr=("linda" "joy" "emma");
获取数组元素的个数(即获取数组的长度):${#arr}===>3
获取数组单个元素的个数:${#arr[n]}
输出数组的元素:${arr[@]}或者${arr[*]}
(8)、注释#,没有多行注释,只有单行注释。
(9)、shell传递参数:
脚本内获取参数:$n n代表获取的第几个参数。
$#        传递到脚本的参数个数
$*        以一个单字符串显示所有向脚本传递的参数。
    如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$        脚本运行的当前进程ID号
$!        后台运行的最后一个进程的ID号
$@        与$*相同,但是使用时加引号,并在引号中返回每个参数。
     如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$-        显示Shell使用的当前选项,与set命令功能相同。
$?        显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
$*与$@的区别:只有在双引号中显示出来,假设脚本运行时写了3个参数,1、2、3,*接 收的是“1 2 3”传递了一个参数;@接收的是“1”“2”“3”传递了3个参数。
(10)、运算符:
expr:一款表达式计算工具,可以完成求值操作。
eg: val= `expr $a + $b`;
如果是条件表达式,==/!=需要写成[ $a == $b ]ps:空格是必需的。
\*:乘法这样写才能实现乘法运算。
(11)、关系运算符:
-eq:检查两个数是否相等,相等返回true
-ne:检查两个数是否相等,不相等返回true
-gt:检查左边的数是否大于右边的,如果是,返回true
-lt:检查左边的数是否小于右边的,如果是,返回true
-ge:检查左边的数是否大于等于右边的,如果是,则返回true
-le:检查左边的数是否小于等于右边的,如果是,则返回true
!        非运算,表达式为 true 则返回 false,否则返回 true。        [ ! false ] 返回  true。
-o        或运算,有一个表达式为 true 则返回 true。        [ $a -lt 20 -o $b -gt 100 ] 返 回 true。
-a        与运算,两个表达式都为 true 才返回 true。        [ $a -lt 20 -a $b -gt 100 ] 返 回 false。


&&        逻辑的 AND        [[ $a -lt 100 && $b -gt 100 ]] 返回 false
||        逻辑的 OR        [[ $a -lt 100 || $b -gt 100 ]] 返回 true
(12)、字符串运算符:
=        检测两个字符串是否相等,相等返回 true。        [ $a = $b ] 返回 false。
!=        检测两个字符串是否相等,不相等返回 true。        [ $a != $b ] 返回 true。
-z        检测字符串长度是否为0,为0返回 true。        [ -z $a ] 返回 false。
-n        检测字符串长度是否为0,不为0返回 true。        [ -n $a ] 返回 true。
str        检测字符串是否为空,不为空返回 true。        [ $a ] 返回 true.


3、Linux文件目录系统学习:
服务器下的目录列表:
apps  d2   home   lost+found  mnt   root     selinux  tmp
bin   dev  lib    media       opt   ro_test  srv      usr
boot  etc  lib64  misc        proc  sbin     sys      var


(1)、/:根目录
(2)、/root:该目录为系统管理员,也称作超级权限者的用户主目录。
(3)、/bin:bin是binary的缩写,该目录下存放经常使用的命令。
(4)、/boot:内核及引导程序都存放在这个目录中,存放一些核心文件。
(5)、/dev:存放Linux的外部设备,在Linux中访问设备和访问文件的方式是相同的。
(6)、/etc:是存放系统管理所需要的配置文件以及子目录的。
(7)、/home:普通用户的主目录,一般是以该用户的名字来命名的。
(8)、/lib:存放系统最基本的动态链接共享库,.so文件是.shared object用于动态链接,类似 于dll文件。
(9)、/lost+found:当系统意外崩溃或者机器意外关机的情况下,一些文件碎片保存在该文 件夹下,当系统启动过程中,fsck工具会检查这里,并且修复已经损坏的文件系统。
(9)、/media:Linux系统会自动识别一些设备,例如光盘和光驱等,会保存在该目录下。
(10)、/mnt:让用户临时挂载别的文件系统。
(11)、/opt:给主机额外安装软件所摆放的目录。默认为空,例如安装Oracle文件,就存放 在该目录下。
(12)、/proc:虚拟目录,系统内存的映射,我们可以直接访问这个目录来获取系统信息。
(13)、/sbin:super user,存放系统管理员使用的系统管理程序。
(14)、/srv:存放一些服务启动之后需要提取的数据。
(15)、/sys:内核文件创建的时候,对应的文件和子目录也在内核对象的子系统中确认。
(16)、/tmp:用来存放一些临时文件。
(17)、/usr:用户的很多应用程序和文件都放在这个目录下。类似Windows下的program目 录。
          /usr/bin:用户使用的应用程序和命令。
          /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
          /usr/src:内核源代码默认的放置目录。
         
(18)、/var:系统上跑程序产生的日志文件,记录在该目录下的/log文件夹下,一般mail的 预设置也存放在这里。


4、Linux文件基本属性:


显示当前目录下文件详细信息:ll / ls -l:


dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
w w w


第一个字符代表这个文件的属性:
d:目录;
-:文件;
l:链接文档;
b:装置文件里面的可供存储的接口设备;
c:装置文件里面的串行端口设备;


接下来一组字符:-去除该权限;+增加该权限;




2:数字是表示文件的硬链接数量,
硬链接:保存在磁盘的文件都会分配一个编号,这个编号就是inode,硬链接是指通过文件的inode来进行链接,允许一个文件拥有多个有效的路径名;软链接:指的是一个指向真正的文件或者目录位置的符号链接,又称符号链接。
root :属主:文件的所有者
root:属组:文件的所属组
4096:显示的是文件的大小
Dec 14  2012: 显示的是文件的创建时间或者是最后修改时间。


疑问解决:
为什么文件大小与磁盘中占用空间的大小不一样呢?
文件是操作系统与驱动器的接口。扇区是磁盘最小的物理存储单元。将相邻的扇区组合在一起形成一个簇,因为在保存文件时,簇(cluster)是保存文件的最小单元。同一文件在不同的磁盘分区中所占用的空间不一样大小,簇的大小与磁盘的分区格式和容量大小来决定,簇数=取整(文件大小/簇大小)+1      所占空间=簇数*磁盘簇大小。


5、linux服务器搭建
linux网络服务器配置――架设linux服务器――构建高性能的mysql数据库系统
(1)、网络服务器配置
a、检查网卡硬件信息 lspci
b、检查网卡驱动是否加载,没加载需要加载网卡驱动
c、编译安装网卡,三种方式
d、配置linux网络



































































猜你喜欢

转载自blog.csdn.net/qq_26479645/article/details/76862370