首页 » 技术分享 » Liunx

Liunx

 

常用的命令

  • top: 动态查看进程变化,监控linux的系统状况。

  • ls -lrt:按修改时间升序排序。

  • find -name file* :寻找当前路径下的文件

  • df: 查看磁盘存储占用情况,关注 /home 目录即可,达到90%注意清理

  • df -i :查看inodes 占用情况

  • df -h:查看磁盘空间 占用情况

  • 堆栈
    jstack pid >> fileName
    例:jstack 29001 >> jstack.txt

  • GC
    jstat -gcutil pid 间隔ms 采样数
    例:pid 11251 500ms一次共10次
    jstat -gcutil 11251 500 10

  • 查看帮助:man 命令

  • 退出帮助目录: q

  • 创建目录和删除目录
    mkdir(make directory)命令可用来创建子目录。
    mkdir app 在当前目录下创建app目录
    mkdir –p test1/test2 级联创建aap2以及test目

  • rmdir(remove directory)命令可用来删除“空”的子目录:
    rmdir app 删除app目录

  • in -sv 源文件路径 目标文件路径 :软连接。

  • ss -tnl : 查看socket 连接情况,主要观察服务是否起来,看ip和端口。

  • 查看目录
    ls: 只能查看能看见的文件
    ls -a 能看见所有的文件(包括隐藏文件)
    文件前面有.的表示隐藏文件
    文件前面有d的表示目录
    文件前面有-的表示文件

  • ll -r 可以表示层次下的所有文件

  • 浏览文件
    cat:显示文件的所有内容
    more:分页显示
    空格:下一页
    回车:下一行
    less:分页显示
    可以通过PgUp PgDn 翻页查看
    还可以搜索 : :“/关键字”

  • tail(★★)
    head -10 文件名 查看前10行数据
    tail -10 文件名 查看后10行数据
    tail -f catalina.log 动态查看日志
    ctrl+c 结束查看

  • chmod命令用于改变文件的权限
    第一种:chomod [who] [operator] [permission] filename

    如何给一个文本文件xxx.sh增加可执行权限?
    chmod u+x xxx.sh
    如何不让其他用户修改xxx.sh
    chmod go-w xxx.sh
    第二种方法:chmod [mode] filename
    [mode]是一个3位八进制数:
    第一位表示创建者权限
    第二位表示组用户权限
    第三位表示其他用户权限
    3位对应位的对应数字加起来,最终就是三类用户的最终权限。
    如何回收非创建者用户对xxx.sh的所有权限?
    chmod 700 xxx.sh
    第一位7:4+2+1,创建者,可读可写可执行
    第二位0:组用户,无权限
    第三位0:其他用户,无权限

rpm命令

  • 它包含在某些Linux分发版中,RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。与red hat 有关系的那一支linux 肯定会包含rpm包。
  • 安装rpm命令:sudo apt-get install rpm

文件的操作

  • 创建一个文件
    touch 文件名 创建一个空白的文件
    echo hello word >aa.txt 把hello word写到aa.txt中,如果文件不存在,创建之,存在则覆盖内容。

  • 复制文件
    cp 文件 目录/文件名
    例如:
    cp 1.txt 2.txt
    cp 1.txt …/1.txt

  • 移动文件(重命名)
    mv a.txt …/ : 将a.txt文件移动到上一层目录中
    mv a.txt b.txt : 将a.txt文件重命名为b.txt

  • 拷贝文件 cp a.txt b.txt

  • 删除文件 rm
    rm 文件名:带询问删除
    rm -f 文件名:不带询问删除
    rm -r 目录:带询问的递归删除
    rm -rf 目录:不带询问的递归删除(谨慎使用)
    rm -rf * : 删除所有文件

  • tar
    tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

  • 常用参数:
    -c:创建一个新tar文件
    -v:显示运行过程的信息
    -f:指定文件名
    -z:调用gzip压缩命令进行压缩
    -t:查看压缩文件的内容
    -x:解开tar文件

  • 常用的组合
    -cvf :打包一个文件或者目录
    -zcvf:打包并压缩一个文件或者目录 压缩的格式:gzip
    -xvf:解压或者打开一个tar文件

  • 格式:
    tar 参数 文件名 要打包|解压的文件目录

  • 例如:
    将当前目录下的haha文件夹的内容压缩到test1.tar
    tar -czvf test1.tar haha/
    将当前目录下的所有文件打包成test1.tar
    tar -cvf test1.tar ./*
    将当前目录下的所有文件打包并压缩成test2.tar.gz
    tar -zcvf test2.tar.gz ./*
    将test1.tar解压到当前目录
    tar -xvf test1.tar
    将test1.tar解压到b目录
    tar -xvf test1.tar -C b

vi和vim编辑器


在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。

  • 编辑普通文件
    三种模式:命令行、插入、底行模式。
    切换到命令行模式:按Esc键;
    切换到插入模式:按 i 、o、a键;
    i 在当前位置生前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行
    切换到底行模式:按 :(冒号);
    yy:复制一行
    p:粘贴
  • 在文件中可以使用/slave 来搜索含有slave的字段。
  • 在文件中使用:%s123/abc/g 将文中全部123 替换成abc

用户管理

  • 添加
    useradd 用户名:默认会在home目录下给一个用户创建一个目录
    passwd 用户名: 回车输入密码
    useradd 用户名 -d /home/目录:创建一个用户然后在指定该用户的家目录

  • 删除
    userdel 用户名:只是删除用户 但是不删除家目录
    userdel -r 用户名:删除用户连带家目录一起删除

  • 修改登录用户名
    usermod -l newname oldname

  • 切换用户:
    ssh -l 用户名 -p 22 主机
    例如: ssh -l tom -p 22 192.168.17.131
    su 切换到root用户。

了解组管理

当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组
创建用户时也可以指定所在组

  • 添加
    groupadd 组名
    useradd 用户名 -g 组名
  • 删除
    groupdel 组名
    注意:若组下有用户,删除不了

文件的权限:

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。 
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。  
设备文件: Linux系统把每一个设备都看成是一个文件
  • 通过ll展示的列表
    以 d 开始的是目录文件
    以 - 开始的是普通文件

  • 文件的权限9个字母 三个三个一组
    第一组代表的是当前用户的权限
    第二组代表的是组的权限
    第三组代表的是其他用户的权限
    r w x r w x r w x

  • chmod 变更文件或目录的权限。(u代表所属用户,g代表所属组的成员用户,o代表其他用户。)
    chmod 755 a.txt
    chmod u=rwx,g=rx,o=rx a.txt

  • chown 变更文件或目录改文件所属用户和组(只有root用户有这个权限)格式: chown 用户:组 文件

chown zhang:zhang a.txt	:变更a.txt文件到组为zhang用户为zhang的名下。
chown -R u1:public dir : 变更a.txt目录或文件(目录下的所有)到组为zhang用户为zhang的名下。
  • 系统管理
    磁盘空间查看
    df -h 查看内存使用情况
    du -sh *查看当前目录下所有子目录和文件的汇总大小

  • 进程信息查看
    free k查看内存使用情况
    top 查看实时刷新的系统进程信息。

  • 管道
    重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入
    例如:
    在ifconfig的结果里查找 192.168字符串
    ifconfig | grep 192.168
    * 查找和java相关的进程
    ps -ef | grep java

  • 查找和3306相关的信息
    ps -ef | grep 3306

  • 系统管理命令
    date 显示当前系统时间
    date -s “2014-01-01 10:10:10“ 设置系统时间
    clear 清屏
    ps 正在运行的某个进程的状态
    ps –ef 查看所有进程
    ps –ef | grep ssh 查找某一进程

  • 网络管理
    nat连接

  • 虚拟机ip配置

    briger

    启动网络服务: service network restart(root权限)
    关闭防火墙服务: service iptables stop
    关闭防火墙自动启动: chkconfig ip tables off
    ifconfig:查看所有的网络设置
    ifconfig 网卡名称 down :禁用网卡
    ifconfig 网卡名称 up :启用网卡
    ping:和window中一样
    通过ctrl+c取消
    netstat 查看网络端口。
    netstat -an | grep 3306 查询3306端口占用情况

发布项目

安装jdk

  • 首先查看是否已经安装了JDK。命令java -version
    查看安装那些jdk 版本 。命令: rpm -qa | grep java
    卸载: rpm -e --nodeps 卸载的包
    首先将安装包传到linux服务器上(使用工具)
    创建文件夹在usr目录下:mkdir java
    将jdk安装包复制到java文件下 命令:cp /root/jdk名称 ./java
    将其解压 命令:tar -xvf jdk.xxx.tar
    安装依赖 命令: yum install glibc.i686
  • 配置环境变量:
    编辑 vi /etc/profile,在文件最后添加一下信息
	#set java environment
			export JAVA_HOME=/usr/local/jdk1.7.0_71
            export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
            export PATH=$JAVA_HOME/bin:$PATH
   保存退出
	source /etc/profile  使更改的配置立即生效

安装tomcat

  • 在/usr目录下创建tomcat目录
  • 复制tomcat 到 /usr/tomcat
  • 解压tomcat
  • 启动tomcat 进入 bin
  • 方式1:
    sh startup.sh
  • 方式2:
    ./startup.sh
  • 开启端口号 8080
  • 8080端口放行
    /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
  • 将该设置添加到防火墙的规则中
    /etc/rc.d/init.d/iptables save
  • 注意:
    查看日志文件
    tail -f logs/catalina.out
  • 退出 ctrl+c

发布项目

  • 数据库和表
    备份数据库
    在windows下 命令: mysqldump -uroot -p123 数据库名称 > d:/xx.sql
    将xx.sql上传 root目录
    先登录服务器mysql
    创建数据库
    进入数据库 还原 :命令: source /root/xx.sql

  • 项目
    将项目打包 war
    war包的特点:
    在tomcat/webapps目录下 只要tomcat启动 war会自动解压

./configure和make 和make install命令

  • ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
  • make 是用来编译的,它从Makefile中读取指令,然后编译。
  • make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

详细解释

  • configure命令
      这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
  • make
      这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
      可能遇到的错误:make *** 没有指明目标并且找不到 makefile。 停止。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make。
  • make insatll
      这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

扩展说明

  • Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。使用上述三个自动工具,就可以生成configure脚本。运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。
  • configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。
    这时,就可运行configure脚本了,运行configure脚本,就可产生出符合GNU规范的Makefile文件了: $ ./configure
    到此时,就可以运行make进行编译,在运行make install进行安装了,最后运行make clean删除临时文件。
    $ make
    $ make install (注:运行这个要有足够的权限)
    $ make clean
      利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:
      make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。
      make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。
      make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。
      make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。
      make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。
      make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境-的人去重新编译。

转载自原文链接, 如需删除请联系管理员。

原文链接:Liunx,转载请注明来源!

0