zoukankan      html  css  js  c++  java
  • 关于Linux最基本总结

     主要内容

    Linux 安装
    常用命令
    VI编辑器的使用
    远程登录
      主机名的设置
      IP的设置
      防火墙的设置
    用户和组账户管理
    文件权限管理
    RPM软件包管理
    软件的安装
      Jdk,tomcat, eclipse
    主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
    免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
    更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
     
    Linux目录结构
      bin  (binaries)存放二进制可执行文件
      sbin  (super user binaries)存放二进制可执行文件,只有root才能访问
      etc (etcetera)存放系统配置文件
      usr  (unix shared resources)用于存放共享的系统资源
      home 存放用户文件的根目录
      root  超级用户目录
      dev (devices)用于存放设备文件
      lib  (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
      mnt  (mount)系统管理员安装临时文件系统的安装点
      boot 存放用于系统引导时使用的各种文件
      tmp  (temporary)用于存放各种临时文件
      var  (variable)用于存放运行时需要改变数据的文件
     
    Linux常用命令
     
    命令格式:命令  -选项  参数

    如:ls  -la  /usr

    ls:显示文件和目录列表(list)
    常用参数:

      -l  (long)

      -a  (all)         注意隐藏文件、特殊目录.和..  

      -t  (time)

    Linux命令的分类
     
    内部命令:属于Shell解析器的一部分
      •cd 切换目录(change directory)
      •pwd 显示当前工作目录(print working directory)
      •help 帮助
    外部命令:独立于Shell解析器之外的文件程序
      •ls 显示文件和目录列表(list)
      •mkdir 创建目录(make directoriy)
      •cp 复制文件或目录(copy)
    查看帮助文档
      •内部命令:help + 命令(help cd)
      •外部命令:man + 命令(man ls)
     
     操作文件或目录常用命令
    pwd 显示当前工作目录(print working directory)
    touch 创建空文件                     
    mkdir 创建目录(make directoriy)
      •-p 父目录不存在情况下先生成父目录 (parents)            
    cp 复制文件或目录(copy)
      •-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)    
    mv 移动文件或目录、文件或目录改名(move)
    rm 删除文件(remove)
      •-r 同时删除该目录下的所有文件(recursive)
      •-f 强制删除文件或目录(force)
    rmdir 删除空目录(remove directoriy)
    cat显示文本文件内容 (catenate)
    more、less 分页显示文本文件内容
    head、tail查看文本中开头或结尾部分的内容
      •haed  -n  5  a.log 查看a.log文件的前5行
      •tail  -f  b.log 循环读取(fellow)
     
    常用命令
    wc 统计文本的行数、字数、字符数(word count)
      •-m 统计文本字符数
      •-w 统计文本字数
      •-l 统计文本行数
    find 在文件系统中查找指定的文件
      •find /etc/ -name "aaa"
    grep 在指定的文本文件中查找指定的字符串
    ln 建立链接文件(link)
      •-s 对源文件建立符号连接,而非硬连接(symbolic)
    top 显示当前系统中耗费资源最多的进程
    ps 显示瞬间的进程状态
      •-e /-A 显示所有进程,环境变量
      •-f 全格式
      •-a 显示所有用户的所有进程(包括其它用户)
      •-u 按用户名和启动时间的顺序来显示进程
      •-x 显示无控制终端的进程
    kill 杀死一个进程
      •kill -9 pid
    df 显示文件系统磁盘空间的使用情况
    du 显示指定的文件(目录)已使用的磁盘空间的总
      •-h文件大小以K,M,G为单位显示(human-readable)
      •-s只显示各档案大小的总合(summarize)
    free 显示当前内存和交换空间的使用情况
    netstat 显示网络状态信息
      •-a 显示所有连接和监听端口
      •-t (tcp)仅显示tcp相关选项
      •-u (udp)仅显示udp相关选项
      •-n 拒绝显示别名,能显示数字的全部转化成数字。
      •-p 显示建立相关链接的程序名
    ifconfig 网卡网络配置详解
    ping 测试网络的连通性
     
    备份压缩命令
    gzip 压缩(解压)文件或目录,压缩文件后缀为gz
    bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
    tar 文件、目录打(解)包
     
    gzip命令
    命令格式:gzip [选项] 压缩(解压缩)的文件名
    •-d将压缩文件解压(decompress)
    •-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
    •-v显示文件名和压缩比(verbose)
    •-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
     
    bzip2命令
    l命令格式:bzip2 [-cdz] 文档名
    •-c将压缩的过程产生的数据输出到屏幕上
    •-d解压缩的参数(decompress)
    •-z压缩的参数(compress)
    •-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
     
     
    tar命令
      •-c 建立一个压缩文件的参数指令(create)
      •-x 解开一个压缩文件的参数指令(extract)
      •-z 是否需要用 gzip 压缩
      •-j 是否需要用 bzip2 压缩
      •-v 压缩的过程中显示文件(verbose)
      •-f 使用档名,在 f 之后要立即接档名(file)
     
    关机/重启命令
    shutdown系统关机
      •-r 关机后立即重启
      •-h 关机后不重新启动
    halt 关机后关闭电源
    reboot 重新启动
     
    学习Linux的好习惯
    善于查看man page(manual)等帮助文档
    利用好Tab键
    掌握好一些快捷键
      •ctrl + c(停止当前进程)
      •ctrl + r(查看命令历史)
      •ctrl + l(清屏,与clear命令作用相同)
     
    VIM文本编辑器
    vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
    只有命令,没有菜单。
    《大碗》编辑器版
    周围的同事不是用VI就是Emacs,你要是用EltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!
     
    VIM工作模式
     
    插入命令:
    定位命令:
    删除命令:
     
    替换和取消命令
    常用快捷键
     
     用户和组账户管理
    linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
    配置文件
    保存用户信息的文件:/etc/passwd
    保存密码的文件:/etc/shadow
    保存用户组的文件:/etc/group
    保存用户组密码的文件:/etc/gshadow
    用户配置文件:/etc/default/useradd
    /etc/passwd格式

    使用命令:man 5 passwd

    account:password:UID:GID:GECOS:directory:shell

     
    Linux用户分类
    超级用户:(root,UID=0)
    普通用户:(UID在500到60000)
    伪用户:(UID在1到499)
      •系统和服务相关的:bin、daemon、shutdown等
      •进程相关的:mail、news、games等
      •为用户不能登陆系统,而且没有宿主目录
     
     /etc/shadow格式

    查看命令:man 5 shadow

     用户组
      每个用户至少属于一个用户组
      每个用户组可以包含多个用户
      同一个用户组的用户享有该组共有的权限
    /etc/group格式
    操作用户命令
    修改用户命令:usermod(user modify)
      •-l 修改用户名 (login)usermod -l a b(b改为a)
      •-g 添加组 usermod -g sys tom
      •-G添加多个组 usermod -G sys,root tom
      •–L 锁定用户账号密码(Lock)
      •–U 解锁用户账号(Unlock)
    删除用户命令:userdel(user delete)
      •-r 删除账号时同时删除目录(remove)
    添加组:groupadd
      •-g 指定gid
    修改组:groupmod
      •-n 更改组名(new group)
    删除组:groupdel
    groups 显示用户所属组
     
    权限管理 
    三种基本权限
      •r 读权限(read)
      •w 写权限(write)
      •x 执行权限 (execute)
     
    第1位:文件类型(d 目录,- 普通文件,l 链接文件)
    第2-4位:所属用户权限,用u(user)表示
    第5-7位:所属组权限,用g(group)表示
    第8-10位:其他用户权限,用o(other)表示
    第2-10位:表示所有的权限,用a(all)表示

    完整信息:一个文件,所属用户具有读写执行权限;所属组的用户

    有读写权限,没有执行权限;其他用户只有读权限

    更改操作权限

    chmod修改文件权限命令(change mode)

      参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)

      例如:chmod  u+x  a.txt

    用数字来表示权限(r=4,w=2,x=1,-=0)

      例如:chmod  750  b.txt

      rwx用二进制表示是111,十进制4+2+1=7

      r-x用二进制表示是101,十进制4+0+1=5

    RPM软件包管理

    lRPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便.
    RPM命令使用
     rpm的常用参数
      •i:安装应用程序(install)
      •e:卸载应用程序(erase)
      •vh:显示安装进度;(verbose   hash)
      •U:升级软件包;(update)
      •qa: 显示所有已安装软件包(query all)
      •结合grep命令使用
    例子:rmp  -ivh  gcc-c++-4.4.7-3.el6.x86_64.rpm
     
     YUM命令
    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
      例子(需要上网,没有网络可以建本地源):
      •yum  install  gcc-c++
      •yum  remove  gcc-c++
      •yum  update  gcc-c++
     

    用linux掉渣天就是摒弃鼠标,用键盘.即使你安装的linux版本有界面,也用命令行.
    (丢掉鼠标,丢掉鼠标,丢掉鼠标)


    什么是VI
    Vi是Visual Interface的缩写.就是Linux的编辑器,类似于windows中的笔记本.
    但是VI相对于记事本强大的不是一星半点.vi---升级版---->vim

    VI以前的撤销是用U 只能撤销一次.但是VIM可以进行无数次的撤销操作.

    VI只能在unix内核的操作系统中,但是VIM可以再多个操作系统中跨平台运行.(windows)
    有兴趣的可以尝试在windows下操作练习.

    VIM支持语法高亮(系统关键字)

    VIM支持图形界面(逼格有点low)


    VI编辑器的操作模式
    Command Mode 命令模式
    Insert Mode 输入模式
    LastLine Mode 底行模式(尾行,末行)

    ========*************************=========笔记==============*************************===================

    =========================================

    1、pwd 用来查看当前所处的目录
    2、ls 列出当前目录下的子目录和文件
      ls -l 列出详细的信息 ----> 等价于 ll
    3、sftp 用来上传本地文件到远程服务器 put c:xxx.txt
    =====华丽的分割线============
    tips: 在敲命令的时候要常用tab键进行补全
    =====华丽的分割线============

    4、cd app/ 切换当前目录到 app路径下
    5、rm jdk-7u65-linux-i586.tar.gz 删除文件
    6、mv jdk-7u65-linux-i586.tar.gz app/ 移动文件到app目录下
    7、cp jdk-7u65-linux-i586.tar.gz app/ 拷贝文件到app目录下


    =====邪恶的分割线============
    文件权限的管理
    =====邪恶的分割线============
    8、su 切换到root用户身份
    9、chmod 777 wnejian 给文件的权限改成所有人都可读可写可执行
    chmod u+x wenjian 给文件的所有者添加一个可执行权限(u 表示所有者 o表示other其他人 g表示所有组)
    10、chown itcast0622:itcast0622 wenjian 更改文件的所属用户和所属组


    -====安装jdk=====
    11、 tar -zxvf jdk-7u65-linux-i586.tar.gz (z 是说指定gzip这种压缩编码 , x表示解压,v表示打印进度, f表示针对哪个文件)
    12、 gzip wenjian 压缩一个文件,用gzip这种格式
    13、 修改环境变量 vi /etc/profile
    14、 让环境变量修改生效 source /etc/profile
    15、 vi编辑器的常见操作,见PPT


    ====常用系统管理指令=====
    16、jps 查看系统当前运行的java进程
    17、netstat -natp 查看系统中的监听网络端口的进程信息
    18、du -sh * 查看文件或者文件夹的大小
    19、df -h 查看磁盘空间


    ===linux的网络配置======
    1、虚拟网络环境的理解 NAT BRIDGE HOSTONLY 见图
    2、linux中网络参数的配置
    -- ifconfig 查看网络配置信息
    -- 修改ip地址,可以通过图形界面修改
    -- setup 也可以修改网卡的ip地址配置
    -- 还可以直接修改配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0
    -- ping 用来测试网络节点之间的连通性
    --修改主机名 vi /etc/sysconfig/network
    --修改主机名和ip之间的内网映射 vi /etc/hosts


    ======用户管理============
    useradd hanliang 添加用户
    passwd hanliang 修改用户的登陆口令
    userdel -r hanliang 删除用户及其主目录

    ===========mysql 安装-=============
    rpm qa | grep mysql 先查询已存在的mysql包
    rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps 删除已存在的冲突包
    rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm 装server包
    rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm 装client包
    设置root的权限密码等 /usr/bin/mysql_secure_installation

    \第一个 安装
    \第二个 配置网络环境
    \第三个 文件管理 cd ls ll cp mv chmod chown rm cat less more touch(创建空文件)
    \第四个 常用系统管理 useradd userdel usermod groupadd groupdel groupmod ps jps top netstat ping ifconfig kill wc find df du
    \第五个 安装jdk 安装mysql服务器
    \第六个 如何使用rpm安装rpm软件包


    -------tail------------看文件的尾部
    tail -f log4j.log 在实际生产中,是debug的最强利器

  • 相关阅读:
    程序员的最大挑战
    12个有效的提高编程技能的方法
    风雨20年:我所积累的20条编程经验
    java的继承机制
    Java中获得程序当前路径的4中方法
    关于String的hashCode
    使用三目运算符时注意的一个问题
    linux查找符合条件的文件并删除
    Tomcat性能优化及JVM内存工作原理
    Linux(Centos)下调整分区大小(以home和根分区为例)
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/4315376.html
Copyright © 2011-2022 走看看