zoukankan      html  css  js  c++  java
  • linux达人养成计划

    一、命令基本格式:
    ls -1 详细列表 (ll)
    -h 人性化显示文件大小
    -a 显示所有文件,包括隐藏文件
    -d 查看目录属性
    -i 显示iNode
    二、文件处理命令
    mkdir -p [目录名] (递归)
    cd、pwd
    touch建立空文件
    rmdir 删除空目录
    rm -rf 递归删除
    cp -r 复制文件
    cp -a 复制所有属性
    mv 剪切/改名

    硬连接:拥有相同的i节点和存储block块,可以看做是同一个文件
                    可通过i节点识别
                    不能跨分区
                    不能针对目录使用
            ln 、、/ 、、       
    ln -s创建软连接  
        软链接应该叫作符号链接,就是Windows中的快捷方式,很方便的功能啊。
        硬链接是直接复制了源文件的inode,一般不会再占用磁盘block,虽有区别,
        不过你也可以当作快捷方式来用。 限制是硬链接不能链接到目录,且只能链接本文件系统中的文件

    三、文件搜索命令
    文件搜索命令-locate + 文件名 /var/lib/mlocate
    updatedb 更新数据库
    命令搜索命令 whereis+ 命令
    -b 只查找可执行文件
    -m 只查找班助文件
    whoami
    which + 命令
    文件搜索 find +搜索范围+条件
    find / -name or -user or -nouser install.log
    -mtime +10 修改文件
    -atime 访问时间
    -ctime 文件属性
    -size 25k
    -inum 262522 按节点
    -a and
    -o or
    -exec ls -lh {} 处理搜索结果
    *任意内容 ?任意一个字符 [] 任意括号内的字符
    字符串搜索命令grep
    -v 取反

    四、帮助命令man
    man man
    man ls
    man -f ls
    help shell 获取shell内部命令
    whereis cd 确定是否是shell内部命令
    help cd 获取内部命令帮助
    info
    五、压缩与解压命令
    zip 压缩文件.zip 文件
    zip -r 压缩文件
    unzip 解压文件
    gzip 源文件 压缩为.gz格式的压缩文件,源文件会消失
    gzip -c 源文件 > 压缩文件 原文件保留
    gzip -r 目录 压缩所有子文件
    gzip -d 压缩文件
    gunzip 压缩文件
    bzip2 源文件 不保留源文件
    bzip2 -k 保留源文件

        tar -cvf 打包文件名  源文件 
        tar -xcf 解压缩.tar文件
        tar -zcvf
        tar -zxvf   -c 位置
        tar -jcvf   
        tar -jxvf   .bz2

    六 关机与重启命令
    startx 进入图形界面 init 5
    shutdown -h now 关机 init 0
    shutdown -r now /reboot 重启
    reboot 、init 6 重启
    runlevel 系统级别

    七、其他命令
    mount 查询已挂载的
    chmod 755 hello.sh 执行脚本文件
    挂载光盘
    mkdir /mnt/cdrom
    mount -t iso9660 /dev/sr0 /mnt/cdrom
    fdisk -l
    w
    who
    last
    lastlog
    echo $SHELL 查询当前的shell

    wq 保存并退出
    q! 退出不保存
    ls 列出所有文件 dir
    ls -1 详细列表
    -h 人性化显示文件大小
    -a 显示所有文件,包括隐藏文件
    -d 查看目录属性
    -i 显示iNode
    pwd 显示当前在哪个目录下
    mkdir 建立目录
    rmdir 删除空目录
    cp 复制
    touch 建立空文件
    mv 移动文件和该文件名
    rm 删除文件和目录
    rm -rf * 删除所有内容(包括目录和文件)r递归 f强制
    in 建立符号连接
    in -s 源目录
    就是管道命令 把上一个命令的结果交给 的后面的命令处理
    grep -n “” 文件 查找关键字 有行数
    find / -name aa
    ls -l> a.text 列表内容写入a.text文件中(覆盖)
    ls -al >> aa.text 列表内容追加到aa.text 的末尾
    ls -ahl 查看文件的所有组

    javac .java编译
    java
    运行

    gcc .cpp 编译 gcc -o my1 .cpp
    ./a.out 运行 ./my1
    目录结构:
    root 存放root用户的相关文件
    home 存放普通用户的相关文件
    bin 存放常用命令的目录
    sbin 要具有一定权限才可以使用的命令
    mnt 默认挂载光驱和软驱的目录
    etc 存放配置相关文件
    var 存放经常变化的文件
    boot 存放引导相关的文件
    usr 默认安装文件

    添加用户
    useradd xiaoming
    passwd xiaoming 设置、修改密码
    userdel 用户名 删除用户
    userdel -r 用户名 删除用户及目录

    解决修改错误配置的方法
    在进入grub引导界面时 请输入 e
    在选中第二行 输入e
    在最后输入1 【但用户级别】
    请按b

    如何添加组
    groupadd policeman
    vi /etc/group 可以更改
    cat /etc/group--不能更改 --查看Linux中所有组
    useradd -g 组名 用户名 ----创建用户 并指定分配到哪个组
    vi/cat /etc/passwd --查看所有用户信息
    -rw-r--r-- 操作权限 含义:
    -文件 d目录 l软链接文件
    rw-文件所有者对该文件的权限 r 可读 用4表示;w可写 用2表示; x可执行用1表示
    r--文件所在组对该文件的权限
    r--其他组的用户对该文件的权限

    如何修改文件访问权限
    chmod
    usemod -g 组名 用户名
    chown 用户名 文件名 --修改该文件的所有者
    chgrp --更改组

    mount /mnt/cdrom/ 挂载驱动
    umount /mnt/cdrom / 卸载驱动

    安装jdk
    1把iso挂载
    2把安装文件拷贝到 /home 下 cp 文件 /home
    3cd /home 切换到home
    4安装 ./?????.bin 回车
    5vi /etc/profile 环境配置文件 jdk1.5.0_06
    6 配置 export JAVA_HOME PATH CLASSPATH

    eclipse安装
    1把iso挂载
    2cp 文件 /home
    3tar -zxvf ????.tar.gz 安装
    4 ./eclipse 启动eclipse 【进入图形界面】startx 在终端启动eclipse

    myeclipse安装
    1cp 文件 /home
    2tar -zxvf ????.tar.gz 安装
    3在home下 ./????.bin

    tomcat安装
    1cp 文件 /home
    2tar -zxvf ????.tar.gz 安装

    realplay安装
    1 cp 文件 /home
    2 cd /home
    3./????.bin
    4cd realplay
    5 ./realplay
    测试

    linux 安装分区
    /boot 分区 100M ext3
    swap交换分区 物理内存的2倍 但不要大于256M
    / 根分区 尽可能大

    LANG=GB2312

    镜像文件
    EnterpriseWorkbenchInstaller_4.0.3GA-E3.1.bin
    RealPlayer10GOID.bin
    apache-1.3.28.tar.gz
    eclipse_SDK-3.1.1-linux-i586.bin
    fcitx-3.1.1.tar.gz
    jakarta-tomcat-5.5.9.tar.gz
    jakarta-tomcat-5.0.30.tar.gz
    jdk-1_5_0_04-linux-i586-rpm.bin
    mysql-connector-java-3.1.10-bin.jar
    mysql-standard-4.0.26-pc-linux-gnu-i686.tar.gz
    samba-2.2.7a-7.9.0.i386.rpm
    samba-client-2.2.7a-7.9.0.i386.rpm
    samba-commom-2.2.7a-7.9.0.i386.rpm
    telnet-0.17-25.i386.rpm
    vsftpd-1.1.3-8.i386.rpm

    & 地址符 后台方式控制

    安装 rpm -ivh httpd-.......
    rpm包升级 rpm -Uvh 包全名
    卸载 rpm -e 包名
    查询是否安装 rpm -q 包名
    查询所有 rpm -qa grep 包名 ---相关包
    查询详细信息 rpm -qi 包名
    查询安装位置 rpm -ql 包名
    查询文件属于哪个包 rpm -qf 系统文件名
    依赖信息 rpm -qr 包名
    校验 rpm -V

    RPM命令管理:RPM包中文件提取
    rpm2cpio 包全名 cpio -idv .文件绝对路径 --> 前面的【.】代表当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
    注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。
    使用输入重定向的cpio命令格式:
    cpio 选项 < [文件设备]
    选项:
    -i:copy-in模式,还原
    -d:还原时自动新建目录
    -v:显示还原过程

    Yum在线安装:yum源文件
    1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
    2、redhat的yum在线安装需要付费,centOS不需要。
    3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
    4、[base]:名字可以随便起。
    5、name:名字也是随便起。
    6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
    7、enabled:默认最后一个容器不生效,其他容器都生效。
    8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
    9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。
    [root@CentOS6 ~]# cd /etc/pki/rpm-gpg
    [root@CentOS6 rpm-gpg]# ll

    Yum在线安装:光盘搭建yum源
    有三个步骤:
    1、挂载光盘;
    2、使网络yum源【CentOS-Base.repo】失效,参加下面截图;
    3、使光盘yum源【CentOS-Media.repo】生效,需要编辑【CentOS-Media.repo】文件,修改【baseurl】和【enabled】两项内容,操作如下:
    [root@CentOS6 yum.repos.d]# vi CentOS-Media.repo
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom/   -->将baseurl设置为实际光盘挂载地址(另外两个要注释掉,否则会因为找不到光盘而报错。【#】注释时,必须写在行开头)

    file:///media/cdrom/
    file:///media/cdrecorder/

    gpgcheck=1
    enabled=1  -->将enabled设置为1,使这个yum源配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    编辑后保存退出即可。
    注:可以使用【yum list】命令列出当前yum源中的所有rpm包:
    [root@CentOS6 yum.repos.d]# yum list
    ......省略部分内容......

    常用yum命令:
    1.查询

    yun list --查询所有可用软件包列表
    yum search 关键字 --搜索服务器上所有和关键字相关的包
    2.安装
    yum -y install 包名 (-y 自动回答yes)
    yum安装只写包名即可! eg:yum -y install gcc --c语言编译器
    Yum在线安装:2、yum软件组管理命令
    【yum grouplist】列出当前已安装的和可安装的所有组,例如:
    [root@CentOS6 sysconfig]# yum grouplist
    ...省略部分内容...
    Available Groups:
    ...省略部分内容...
    Java 平台
    【yum groupinstall 软件组名】用于安装指定的软件组(注意:【软件组名】最好用双引号括起来,不能是中文。PS:经在CentOS6.5上测试,中文也可以正常安装)。
    例如,我们想安装【Java 平台】组,由于组名不能是中文,所以我们需要知道该组名对应的英文组名才能安装。有两种方式可以获得英文组名:
    a、因为本机是英文语系,所以可直接在本机通过【yum grouplist】命令查看组名;
    b、若是远程连接的话,通常都是中文语系,需要使用【LANG=en_US】命令临时将当前系统下的语系修改为英文,然后通过【yum grouplist】命令查看组名。例如:
    [root@CentOS6 sysconfig]# LANG=en_US
    [root@CentOS6 sysconfig]# yum grouplist
    Installed Groups:
    ...省略部分内容...
    Available Groups:
    ...省略部分内容...
    Java Platform
    通过上面查询,可以知道【Java 平台】对应的英文名是【Java Platform】,下面是执行安装操作的命令:
    [root@CentOS6 sysconfig]# yum groupinstall "Java Platform"
    ...省略部分内容...
    Installed:
    java-1.6.0-openjdk.i686 1:1.6.0.0-1.66.1.13.0.el6 java-1.7.0-openjdk.i686 1:1.7.0.45-2.4.3.3.el6
    ...省略部分内容...
    Complete!
    注:【LANG=zh_CN.utf8】是临时将当前系统下运行的语系改为中文的命令(若需要永久修改,则在【/etc/sysconfig/i18n】文件中修改。

    Available Packages
    389-ds-base.i686 1.2.11.15-29.el6 c6-media
    389-ds-base-devel.i686 1.2.11.15-29.el6 c6-media
    389-ds-base-libs.i686 1.2.11.15-29.el6 c6-media
    ......省略部分内容......
    可以从后面的【c6-media】看出这是光盘yum源,因为这是光盘yum源文件【CentOS-Media.repo】中定义的名字。

    总用量 16
    -rw-r--r--. 1 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
    -rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
    -rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
    -rw-r--r--. 1 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
    [root@CentOS6 rpm-gpg]#

    Linux内核版本
    http:www.kernel.org
    Linux发行版本
    nginx Apache 阿帕奇(标志为一个羽毛)NGINX(占用资源少,同时提供更高的访问量)
    Mysql,php,samba,mongoDB,python(脚本语言),Ruby,sphinx
    可通过www.netcraf.com查询网站后台以及后台分布

    压缩包 .gz .bz2 .tar.bz2 .tgz
    二进制 .rpm
    配置文件 .config

    6.设备文件名
    1)/dev/hda1 IDE硬盘接口
    /dev/sda1 SCSI硬盘接口、SATA硬盘接口
    hd,sd是设备文件名,a代表第一块硬盘,1表示第一个分区
    逻辑分区编号从5开始
    2)linux:分区,格式化,起个设备文件名,分配盘符
    3)window:分区,格式化,分配盘符

    7.挂载
    1)把盘符和分区连在一起的过程称为挂载,把目录称为挂载点。盘符表示挂载点。
    2)必须分区
    / 根分区
    swap 交换分区,内存小于4G建议为内存两倍,大于4G则按1:1分配
    3)推荐分区
    /boot 启动分区,200MB,建议单独分区,若该包含该目录的分区空间不足可能使系统起不来

    sudo apt-get update
    sudo apt-get install vim 安转vim
    cc -v 检查版本
    :sp 打开多个vim
    ctro+w+ down
    :set nu 打开行号
    9 + dd 剪切
    p 粘贴
    gcc -c max.c -o max.o 编译成库函数
    echo $? 0--正常

    int main(int argc,char* [])
    argc 参数个数
    char 参数值

    stdin 标准输入流:键盘 fscanf(stdin,"%d",&a);
    stdout 标准输出流:显示器 fprintf(stdout,"");
    stderr 标准错误流 fprintf(stderr,"");
    fprintf(stderr,"The value must > 0");在输入有误时提示错误信息!

    输出流:
    ./a.out 1>> a.text 把结果重定向到.txt文件里 不会覆盖原文件内容(日志)
    ls /etc >> etc.txt
    ls /etc > etc.txt 只有最后的一份 覆盖文件()最新数据
    输入流:
    ./a.out < input.txt 自动读取数据

    ls /etc/ grep ab 包含ab的文件 前一个命令的结果做为后一个命令的输入流
    ps -e 进程
    ps -e grep ssh

  • 相关阅读:
    myisamchk命令修复表操作
    CentOS下的yum upgrade和yum update区别
    CentOS 6.9/7通过yum安装指定版本的MySQL
    Linux下Shell去除空行的方法
    Linux下环境变量设置技巧
    交互设计师如何做运营需求-以网易严选邀请新人功能设计为例
    对应用启动时间的关注和获取
    快速发现并解决maven依赖传递冲突
    mock测试方法及实践改进
    网易杭研易盾实习心得(4)
  • 原文地址:https://www.cnblogs.com/caicaizi/p/9453107.html
Copyright © 2011-2022 走看看