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