Linux&Unix命令

Linux下:

注意点:

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

文件压缩和解压命令:

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

上一篇:cookbook学习第一弹


下一篇:td 的colspan属性