当前位置: 首页 > news >正文

LinuxUnix命令

Linux下:

  • 系统操作

  • 文件操作
  • 防火墙
  • 权限管理
  • 压缩和解压
  • 安装应用
  • 用户管理
  • 端口 PID 应用
  • start & shutdown
  • 远程操作
  • 异常

注意点:

        linux系统下内容大多用单引号 alias test='cd ******'

 

 

 

系统操作

安装工具:

      netstat    gcc

       >yum install net-tools

 

  >yum install -y gcc texinfo-tex flex zip libgcc.i386 glibc-devel.i386

 

 

添加环境变量:

       >export [PYTHONPATH]=*****  //添加

        >unset [PYTHONPATH]    //移除

       >export      //查看全部

       >echo $JAVA_HOME  // 查看指定

        >export PATH=$PATH':usr/local/tomcat'    //实现拼接

          在命令行输入的环境变量仅对本次会话有效,要使一直有效需要将环境变量加入到文件

          /etc/profile 或者  /etc/profile.d/sh.local

别名:

linux下快速命令 (别名)和设置别名:

  -》alias                        (查看系统中所有设置的别名)

  -》alias  别名='原命令'   (设置别名)

           alias  cdRedis='cd /usr/local/redis5.0.1'   

          当然可用环境变量的形式代替

                   >export redis=/usr/local/redis5.0.1

                   >cd $redis

  -》unalias 别名            (删除别名)

        此处的别名也仅对当前会话有效,如果要一直有效,需要将命令添加到

         /etc/profile.d/sh.local

直接运行:

        命令行随意运行软件,不带路径需要将执行软件cp到 /usr/bin/ 中,才可以。

        >cp /usr/local/redis5.0.1/src/redis-cli  /usr/local/redis5.0.1/src/redis-cli    /usr/bin/

        >redis-cli -p 6379 --raw

查看磁盘使用情况:

  -》df -h [files]     //明细

  -》df -sh [files]    //总和

  -》df -h               //全盘查看

查看cpu和内存:

  -》top

系统名称版本:

        -》uname -a

操作版本:

        -》cat /proc/version

        -》cat /etc/issue

系统目前的内存占用:

        -》free -m

ip查看:

      -》ifconfig  最小化安装时,没有此命令,过时(安装:yum install net-tools)

     -》 ip addr   查看网卡地址和ip

ip自动分配:

    -》  vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

设置:ONBOOT=yes

    重启网络服务:systemctl restart network 或者 service network restart #重启网络

查看系统时间:

  -》 date

       -》 hwclock --show          //查看硬件时间

       -》 hwclock --set --date '2018-11-09  15:15:15'            //系统硬件日期

       -》hwclock  --hctosys                                                   // 同步系统时间

       -》clock -w                                                                   // 保存时钟

 

 

 

文件操作:

查看文件夹下所有文件 :

-》ls

-》ll

-》ll -a   查看所有文件,包括隐藏文件

-》ls -lh   或  -》ll -h  可以看到文件大小以M为单位。

》clear  清屏操作

》~/      用户登录文件夹 /home/root

查看文件 :

  -》tail -f  filename  -n  50  监控后50行文字

       -》tail -f -n 1000 log.log |grep WARN           // grep带过滤查找 warn的信息在查找日志时很有用

  -》head filename   -n  100 查看前100行文字

  -》sed -n '1000,2000p' filename 查看1000-2000行记录

  -》 cat filename  正向显示文件所有内容

  -》 tac filename 反向显示文件所有内容 与cat看文件顺序向反  

替换文件:

  -》sed -i 's/原字符串/替换字符串/g' filename      # 替换文件中的所有匹配项,如果遇到路径,用反斜杠标记,防止被解析

       例:sed -i 's/${usr.home}/\usr\/local\/program\/rocketmq/g' logback_*.xml

搜索文件:

  》find / -name "ld.so.conf"

  》whereis nginx    //查找nginx文件

搜索文件中的内容:

 》grep -rn  error   aaa.log      //r表示递归,n表示显示行数

编辑文件:

        -》vi  [filename]

        此时是command line模式

       按下[i]  进入插入模式,按[esc]回退到command line模式,按[:]进入底行模式

      在底行模式下 wq保存退出 , w [fileothername] 另存为,q!不保存退出。

       -》vim [filename]  

          此时是通过复制一份临时文件操作执行,有时会因其它原因再次打开报上次未关闭 .swap.

         操作 选择 R,然后 D

           rm -rf  .[filename]*

删除文件夹及其文件:

rm -rivf ****

常用  rm -r ***

-r 级联删除里面的文件和文件夹
-f 强制删除
-v 显示删除信息
-i 交互式删除,每次删除前会进行询问

 文件copy:

cp -r tempdir1 tempdir2 将dir1及其下的子文件复制到dir2中,但是不包括子文件夹结构

cp -p tempdir1 tempdir2 可将文件及其文件夹结构统一复制过去。

cat aaa.txt >> bbb.txt   将文件aaa内容复制到bbb中。

远程copy:

     scp -r local_folder remote_username@remote_ip:remote_folder 
    或者 
     scp -r local_folder remote_ip:remote_folder  

创建文件夹:

mkdir -mpv *****

  -m, --mode=模式类似 chmod
  -p, --parents  级联创建目录 
  -v, --verbose  每次创建新目录都显示信息
       --version 版本信息
       --help     帮助信息

Example:

mkdir -m 770 aaa
mkdir -pv  test/test1

建立软连接:

-》ln -s /opt/greenplum/conf gpc

这样直接输入gpc会直接进入conf目录下,就如同建立快捷方式一样

查看当前所在路径:

  -》pwd

修改文件名或文件夹名

       如果查看详细: ls -l

       修改文件名 mv file1 file2

        移动文件及文件夹也是此命令 mv -rf file1  file2    r是级联,f禁止交互

查看文件的3种状态:

  ->stat ***

对应最近的 ATime CTime MTime。 权限时间  变更时间 修改时间

 

 防火墙:

当tomcat启动后,外网还是不能访问,有可能是防火墙打开造成的。

关闭防火墙命令:systemctl stop firewalld.service

开启防火墙:systemctl start firewalld.service

防火墙状态: systemctl status firewalld.service

关闭开机自启动:systemctl disable firewalld.service

开启开机启动:systemctl enable firewalld.service

另一种:

防火墙状态:  service iptables status

 1) 重启后生效
     开启: chkconfig iptables on
     关闭: chkconfig iptables off
2) 即时生效,重启后失效
     开启: service iptables start
     关闭: service iptables stop

防火墙还需要关闭ipv6的防火墙: chkconfig ip6tables off

 

安装应用

安装rpm:

rpm -ivh ***.rpm

卸载:

rpm -e ***

询问是否有安装:

rpm -qa | grep -i [mysql]

 

权限管理:

  chmod -R 770  ****

       如果一个文件夹下没有文件则不加R.注意R要大写。

总共为9个属性。

前三个为拥有者权限,中间3个为群组用户权限,后3个为其它用户权限。

改变九个属性, chmod 
档案属性的改变使用的是 chmod 这个指令,但是,属性的设定方法有两种, 分别可以使用数字或者是符号来进行属性的变更。
数字类型改变档案权限 
Linux 档案的基本属性就有九个,分别是 owner/group/others 组别的 read/write/excute 属性: 
          -rwxrwxrwx

这九个属性是三个三个一组的!其中,我们可以使用数字来代表各个属性,各属性的对照表如下: 

r:4
w:2
x:1

同一组 (owner/group/others) 的三个属性 (r/w/x) 是需要累加的,例如当属性为 [-rwxrwx---] 则是: 

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

所以等一下我们设定属性的变更时,该属性的数字就是 770 啦!变更属性的指令 chmod 的语法是这样的:
[root@linux ~]# chmod [-R] xyz 档案或目录
参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递回( recursive )的持续变更,亦即连同次目录下的所有档案、目录
     都更新成为这个群组之意。常常用在变更某一目录的情况

 

用户管理:

用户转化

 》su gpadmin

 》chown -chR gpadmin:gpadmin test     //将test文件夹使用者又root用户root组转变到 gpadmin用户gpadmin组  

 》chown --help    //查看命令使用

注意chown只能从root转变到其它用户,用户之间不能转变,也不能转给root。否则Operation not permitted

创建用户:

》useradd gpadmin

》groupadd -g 530 gpadmin

建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组,并建立用户的自动登录文件夹

>useradd -u 544 -d /usr/testuser1  -g users -m  testuser1

>passwd gpadmin    #设置密码

 

文件压缩和解压命令: 

  unzip ***.zip   -d   /**

 tar -zxvf *****.tar.gz    //解压gz文件,普通zip文件无法解压

使用此命令解压zip会报出以下错误:gzip:stdin has more than one entry--rest ignored.

 tar unzip -o ****.zip     //解压zip文件  -o 强制覆盖

 tar cvf *****               //压缩文件

- zxvf 
-z 是配合解压.GZ的 
-x 解开一个包文件 | -c 压缩一个文件 (compose)
-v 显示详细信息 
-f 必须,表示使用归档文件

tar –zxvf apache-tomcat-5.5.36.tar.gz -C /usr/local/program

 

端口,PID,应用名

 查看端口和关闭端口:

查看端口对应的应用进程名称

>netstat -an|grep 80 有的是

>netstat -an | grep ':80'

>netstat -anp | grep ':80'

>netstat -a  显示所有权限可看到的端口

>netstat -t   仅显示tcp相关的选项

查看端口所有端口:netstat -ano

查看指定端口:netstat -aon|findstr "49157"

找到PID,输入即可知道是那个程序占用:tasklist|findstr "2720",或在任务管理器查看pid情况

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名和PID
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

 

注意:Solaris不能直接查看端口对应的进程名,可写以下脚本.sh执行此脚本,但需要较大权限

cd /proc
for i in *
do
echo ------process $i ------
pfiles $i|grep -i "port:11760"
done

 

查看应用进程名称对应的进程PID

 >ps -ef|grep ****

>ps -ef|grep java

>ps -ef|grep java6_64

>ps -ef|grep tomcat

 

ps -aux | grep ***      //也是

lsof:

   >lsof -i | grep pid        //根据pid查端口

   >lsof -i:port                 //根据端口查pid

netstat:

    >netstat -nap | grep pid    //根据pid查port

    >netstat -nap | grep port  //根据port查pid

 关闭进程:

    >kill -9 [PID]

 

start & shutdown

nuhup命令 和 & 命令

在执行服务时,不想让在前台执行,在后台自动执行可使用  &

>sh  ***.sh &

通过远程ssh访问,或打开控制台访问启动服务,如果关闭此窗口则会引发启动服务对应的session关闭而终止。

因此可通过nuhup命令不间断执行命令。同时将启动过程记录在当前目录下的nuhup.out文件中。

>nuhup ./startup.sh

定义进程名称启动  

>nuhup ./startup.sh -c **** &

空输出:

*** >/dev/null 2>&1 &  将内容输出为空,即不做任何输出 

 

 

远程操作

 远程复制: scp  myTest.jar   root@192.168.102.22:/usr/local/myProgram

 远程命令: ssh  root@192.168.102.22

可通过for循环来处理批量执行的东西,将ip地址写入到txt文件中。

for ip in `cat ipList.txt`;
do
scp test.jar admin@$ip:/usr/local/
done

scp免密登录互信: http://www.mamicode.com/info-detail-2128504.html

异常

scp promission deny 异常

/etc/ssh/sshd_config中的PermitRootLogin 为 yes ,然后重启ssh (/etc/init.d/sshd restart)

sudo   promission deny   异常

  将 /etc/sudoers文件变为可读写,然后将root  ALL=(ALL),复制一行,变为admin即可。

 

转载于:https://www.cnblogs.com/DennyZhao/p/7456821.html

相关文章:

  • python——if判断语句的应用
  • Linux学习笔记第三天-软链接和硬链接
  • Linux集群(四)-LVS持久连接与高可用
  • 猜数字小游戏,很naive......
  • 20165302 第四周学习总结
  • [转]地图投影的N种姿势
  • AR SLAM
  • IBM与欧洲银行巨头合作 把区块链技术引入实际应用
  • 使用llvm实现一门语言 —— cava
  • 八大基础排序总结
  • jmx使用jmxmp协议连接器的实现
  • Qt亮相CES Asia,全面展示创新技术力量
  • 深入解析:半连接与反连接的原理和等价改写方法
  • 计算机基础
  • webpack学习之路之webpack配置ES 6/7
  • 时间复杂度分析经典问题——最大子序列和
  • #Java异常处理
  • Electron入门介绍
  • extjs4学习之配置
  • Gradle 5.0 正式版发布
  • Java编程基础24——递归练习
  • Java方法详解
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • learning koa2.x
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • python 装饰器(一)
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 程序员最讨厌的9句话,你可有补充?
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 回流、重绘及其优化
  • 计算机常识 - 收藏集 - 掘金
  • 如何学习JavaEE,项目又该如何做?
  • 使用docker-compose进行多节点部署
  • 协程
  • 正则与JS中的正则
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ****Linux下Mysql的安装和配置
  • .NET Core WebAPI中封装Swagger配置
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • /etc/skel 目录作用
  • @Autowired自动装配
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [JavaWeb]—Spring入门