linux笔记-xyq

  • 1、命令
  • 2、其余
  • [x] 2017.08.22--now
    xyq linux note
gitlab   gitee   作业部落   CSDN   马克飞象   typora

1、命令阐明

1.1 常用命令

阐明命令
进入目录cd dir1
创立目录mkdir dir1
创立多级目录mkdir -p d1/d2/d3
查看当前目录pwd
复制文件cp srcname targetname
复制目录cp -r dir1/ dir2/
批改名称(挪动文件)mv readme.txt readme.doc
跨服务器复制scp /data/ROOT.tar.gz root@192.168.239.35:/opt/saiwen/db_backup
删除一般文件a.txtrm a.txt (-f:示意强制)
目录a删除rm -rf a (-f:示意强制; -r:示意目录)
建设新文件touch test.txt
清空文件cat /dev/null >json.log
-------------------------------------------------------------------------------
查看磁盘空间df -h
查看文件大小du -h filepath
显示文件或目录类型file test
查问程序的地位which test
统计文件信息wc testfile
3 92 598 testfiletestfile文件的行数为3、单词数92、字节数598
-------------------------------------------------------------------------------
压缩tartar -zcvf /home/love.tar.gz /home/yx/love
解压tartar -zxvf /home/love.tar.gz
压缩zipzip test.zip test
解压zipunzip test.zip
压缩gzgzip -c test.log > /root/test.gz
解压gzgunzip -c debug.2020-07-02.log.gz > ./0702.log
-------------------------------------------------------------------------------
含糊查找当前目录文件find *txt
从根目录查找文件find / -name test
查找文件find /home -name 'test.log' -type f -print
查找目录find / -name 'tech' -type d -print
查找当前目录及子目录文件find . -name "root" -maxdepth 1 (maxdepth指层数)
查找大文件find / -type f -size +400M /\ xargs ls -hlrt
-------------------------------------------------------------------------------
从旧到新并显示大小ls -hlrt (ls -lrt 从旧到新)
从新到旧并显示大小ls -hlt (ls -lt 从新到旧 )
按大小升序ls -hSlr
按大小降序ls -hSl
含糊查找文件ls name (ls /etc/rc.d/init.d/my)
显示当前目录文件ls
-------------------------------------------------------------------------------
查看linux版本cat /proc/version lsb_release -a
查看linux内核版本uname -a
查看centos版本cat /etc/redhat-release
查看java版本java -version
查看过程ps
查看tomcat过程ps -ef /\ grep tomcat
-------------------------------------------------------------------------------
上传sz filename (装置上传下载 yum install lrzsz)
下载sz
显示10行历史记录history 10
查看ipifconfig
分明屏幕clear
查看工夫date
工夫格式化date "+%Y-%m-%d %H:%M:%S"
查看指定年月日历cal 3 2013
建设链接ln -fs /opt/tech/mysql/bin/mysql /usr/local/bin/mysql
删除链接rm -rf name
查看所有别名alias
增加别名alias test="tar -zcvf "
删除别名unalias test
显示所有分区的信息fdisk -l
帮忙help
查看命令手册man ls
树状构造展现目录tree (装置tree命令 yum install tree)
输入重定向(保留文件)ls > dir.txt
追加文件ls >> dir.txt
-------------------------------------------------------------------------------
关机halt
重启reboot
关机重启shutdown -r
关机不重启shutdown -h
立即关机shutdown now


1.2 命令阐明

1.2.1 vi操作

:wq (输出「wq」,存盘并退出vi):q! (输出q!, 不存盘强制退出vi):set fileencoding  查看文件编码:set nu 显示行数查找  /关键字按「G」:挪动到文章的最初。按「g」:挪动到文章的结尾。dd  : 删除以后行x   : 删除光标地位字符u   :后退 返回 上一步/string 向前搜寻指定字符串?string 向后搜寻指定字符串n 搜寻指定字符串的下一个呈现地位N 搜寻指定字符串的上一个呈现地位:%s/old/new/g 全文替换指定字符串 

1.2.2 环境变量export

查看所有环境变量    export查看环境变量         echo $PATH                    export $hello                    设置长期环境变量    export PATH=$PATH:/usr/local/mysql/bin                    export hello="hello world"设置零碎环境变量        vi /etc/profile        export PATH=$PATH:/usr/local/mysql/bin  # 在配置文件中退出此行配置        export hello="hello world"  # 在配置文件中退出此行配置    须要留神的是:批改完这个文件必须要应用 以下命令在不必重启零碎的状况下使批改的内容失效。    source /etc/profile    或者是用 ‘.’:    . /etc/profile    查看:    echo $PATH        /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin        echo $hello        hello world        配置曾经失效    

1.2.3 head tail less more

1. 如果你只想看文件的前100行,能够应用head命令,如head -100  filename2. 如果你想查看文件的后100行,能够应用tail命令,如:tail -100  filename 或 tail -n 100  filename3. 查看文件两头一段,你能够应用sed命令,如:sed -n '100,200p' filename 这样你就能够只查看文件的第100行到第200行。截取的文件能够用重定向输出到新的文件中:head -100  filename >a.txttail -f cata.log  打印日志cat  test.txt        显示文件结尾tac  test.txt        显示文件结尾more test.txt        逐页显示文件 less test.txt        逐页显示文件(优化more)head -n 20 test.txt  显示文件前20行  head -100  filenametail -n 20 test.txt  显示文件后20行  tail -100  filename 如果文件太长,用cat命令只能看到文件的最初一页,而用more命令时能够一页一页地显示。执行more命令后,进入more状态,用【Enter】键能够向后挪动一行;用【Space】键能够向后挪动一页;用“q”键能够退出。在more状态下还有许多性能,可用man more命令取得。less实际上是more的改进版,其命令的间接含意是more的反义。less的性能比more更灵便。例如:用【Pgup】键能够向前挪动一页,用【Pgdn】键能够向后挪动一页,用向上光标键能够向前挪动一行,用向下光标键能够向后挪动一行。“q”键、【Enter】键、【Space】键的性能和more相似。用【G】键能够挪动文件到结尾,用【g】键能够挪动到文件结尾。

1.2.4 cat详解

cat命令是linux下的一个文本输入命令,通常是用于观看某个文件的内容。cat次要有三大性能:    1.一次显示整个文件。        $ cat   filename            2.从键盘创立一个文件。        $ cat  >  filename                                             只能创立新文件,不能编辑已有文件            3.将几个文件合并为一个文件。        $cat   file1   file2  > file    cat具体命令格局为 : cat [-AbeEnstTuv] [--help] [--version] fileName        阐明:把档案串连贯后传到根本输入(屏幕或加 > fileName 到另一个档案)        参数:        -n 或 –number 由 1 开始对所有输入的行数编号        -b 或 –number-nonblank 和 -n 类似,只不过对于空白行不编号        -s 或 –squeeze-blank 当遇到有间断两行以上的空白行,就代换为一行的空白行        -v 或 –show-nonprinting        范例:        cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输出 linuxfile2 这个档案里        cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。        范例:        把 linuxfile1 的档案内容加上行号后输出 linuxfile2 这个档案里        cat -n linuxfile1 > linuxfile2        把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。        cat -b linuxfile1 linuxfile2 >> linuxfile3            cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容        ----------------------------------------------------------cat << EOF的语句阐明    EOF是“end of file”,示意文本结束符。EOF在这里没有非凡的含意,你能够应用FOE或OOO等(当然也不限度在三个字符或大写字符)。简略形容一下常见的应用形式及其作用:    1、cat<<EOF,以EOF输出字符为规范输出完结:    2、cat>filename,创立文件,并把规范输入输出到filename文件中,以ctrl+d作为输出完结:    留神:输出时是没有'>'的。    3、cat>filename<<EOF,以EOF作为输出完结,和ctrl+d的作用一样。命令:    $ cat > test.txt << EOF    > 阐明cat及EOF    > 测试    > EOF        $ cat test.txt    阐明cat及EOF    测试其余写法:    cat >> test.txt << EOF 在test.txt里追加内容,不会笼罩原有文件。    $ cat >> test.txt << END     //这里的“END”就代替了“EOF”的性能。后果是雷同的。    > 追加内容    > END    $ cat test.txt    阐明cat及EOF    测试    追加内容

1.2.5 grep

grep命令

查问文件中内容并保留    more linux.txt | grep mysql > test.txt      // > 创立新文件    cat linux.txt | grep 软件 >> test.txt      // >> 是在文件中追加内容        grep mysql linux.txt > test.txt    查问文件内容行数    cat linux.txt | grep mysql | w -l        查问运行的过程    ps -ef | grep mysql    ps -ef | grep java        -e   显示所有过程。        -f    全格局。                grep '^root' /etc/group 匹配正则表达式的开始行 grep 'root$' /etc/group 匹配正则表达式的完结行 RE(正则表达式) \ 疏忽正则表达式中特殊字符的原有含意 ^ 匹配正则表达式的开始行 $ 匹配正则表达式的完结行 \< 从匹配正则表达式的行开始 \> 到匹配正则表达式的行完结 [ ] 单个字符;如[A] 即A符合要求 [ - ] 范畴 ;如[A-Z]即A,B,C始终到Z都符合要求 . 所有的单个字符 * 所有字符,长度能够为0 

1.3 软件操作及装置

1.3.1 mysql

指令 ps -ef|grep mysql 得出后果    root     17659     1  0  2011 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid       mysql    17719 17659  0  2011 ?        03:14:57 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock  usr/bin/mysql 是指:mysql的运行门路var/lib/mysql 是指:mysql数据库文件的寄存门路usr/lib/mysql 是指:mysql的装置门路 导出数据库 /opt/tech/mysql/bin/mysqldump -uroot -p1234 webpro > /opt/tech/20170814.sql 导入数据  mysql -uroot -pSai.web123 YCKPLUS < /opt/sql/uccpplus_v4_0_5.sqlmysql导入时呈现"ERROR at line : Unknown command '\''."的解决办法         mysql -uroot -p12344  --default-character-set=utf8 IMP_V12_1 < E:\isds-1.1.2.sql导出查问语句 /opt/saiwen/mysql/bin/mysql -uroot -p12344 -e "use YCKPLUS;select id,loginName from T_USER where id=1\G;" >> /opt/test.txt导出表   /opt/tech/mysql/bin/mysqldump -uroot -p1234 webpro t_user > /opt/tech/t_user.sql创立数据库CREATE DATABASE YCKPLUS DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;use YCKPLUS; 登录mysql  /opt/tech/mysql/bin/mysql -uroot -p1234            /opt/tech/mysql/bin/mysql -uroot -padmin创立、应用数据库   create database test;  use test;导入sql数据     source /root/20151010.sql复制表数据到新表CREATE TABLE T_MENU1 LIKE T_MENU;INSERT INTO T_MENU1 SELECT * FROM T_MENU;/opt/tech/apache-tomcat-6.0.45/webapps/add20170814.sql批改max_allowed_packet  vi /etc/my.cnf58.246.98.94mysql -u root -p12344navicat连贯mysql失败,受权:GRANT ALL PRIVILEGES ON `db1`.* TO 'user1'@'192.171.1.18' identified by 'pwd1' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON `YCKPLUS`.* TO 'saiwen'@'192.171.1.18' identified by 'test12344' WITH GRANT OPTION;grant all privileges on *.* to root@'%' identified by 'saiwen.web123' with grant option;-- flush privileges;查问权限select * from mysql.userselect Host,User,password_last_changed from mysql.user勾销权限revoke  all on *.* from 'root'@'192.168.0.197' ;删除用户权限Delete from mysql.user where user = "user_name" and host = "host_name" ;  linux 的mysql配置文件  /etc/my.cnf查看编码show variables like 'character%'; 设置编码set character_set_server='utf8';  查看sql_modeSELECT @@GLOBAL.sql_mode;辨认大小写lower_case_table_names = 2启动mysql  /opt/saiwen/mysql/support-files/mysql.server start    /opt/saiwen/mysql/bin/mysqld_safe --user=mysql --basedir=/opt/saiwen/mysql --datadir=/opt/saiwen/mysql/data &     cd /opt/saiwen/mysql/  ./bin/mysqld_safe &      chmod -R 775 mysql      cd /data/saiwen/mysql/&&./bin/mysqld_safe &  cd /opt/saiwen/mysql/ && bin/mysqld_safe --user=root &  

1.3.2 mongo

mongo笔记

配置文件启动cd /opt/saiwen/mongodb           ./bin/mongod --config /opt/mongodb/conf/mongo.conf     自定义门路启动                                           /opt/saiwen/mongodb/bin/mongod --dbpath=/opt/saiwen/mongodb/data --logpath=/opt/saiwen/mongodb/logs --logappend  --port=27017 --fork  登陆mongocd /opt/saiwen/mongodb/binmongo

1.3.3 redis

windows下redis装置 http://www.runoob.com/redis/redis-install.html进入redis目录启动  redis-server.exe redis.windows.conf登录  redis-cli.exe -h 127.0.0.1 -p 6379      redis-cli -a saiwen12344Redis 设置明码登录 批改redis.windows.conf#requirepass foobared。设置明码的办法就是去掉正文的#,把foobared替换成本人的明码即可,例如将明码设置为123456服务自启动redis-server --service-install redis.windows.conf --loglevel verbose 问题 Invalid argument during startup: unknown conf file parameter : requirepassredis 设置来明码,呈现来这个谬误,把配置文件那一行的空格去掉# requirepass foobared改成requirepass 123456启动redis./redis/src/redis-server ./redis/redis.conf &敞开redis./redis/src/redis-cli -h host -p port -a password shutdownhost值在./redis/redis.conf文件中搜寻bindport值在./redis/redis.conf文件中搜寻portpassword值在/redis/redis.conf文件中搜寻requirepass进入redis命令行./redis/src/redis-cli -h host -p port -a password[root@localhost src]# cd /opt/saiwen/custom/redis-2.8.17/[root@localhost redis-2.8.17]# redis-server redis.conf              //启动redis                 [root@localhost ~]# redis-cli       //进入redis客户端127.0.0.1:6379> keys *              //取出所有的key (empty list or set)127.0.0.1:6379> quit                //退出客户端   127.0.0.1:6379> set key1 value1        //setOK127.0.0.1:6379> get key1            //get"value1"127.0.0.1:6379> del k1                //删除一个key(integer) 1127.0.0.1:6379> flushdb                //清空所有数据Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled。。。。进入客户端设置模式:redis-cliconfig set protected-mode "no"

1.3.4 tomcat命令

Linux下Tomcat的启动、敞开、杀死过程   (进入tomcat的bin目录 启动 sh startup.sh)    关上终端    进入tomcat目录    cd /Java/tomcat    #执行    bin/startup.sh #启动tomcat    bin/shutdown.sh #进行tomcat    tail -f logs/catalina.out #看tomcat的控制台输入;    #看是否曾经有tomcat在运行了    ps -ef |grep tomcat     #如果有,用kill;    kill -9 pid #pid 为相应的过程号    例如 ps -ef |grep tomcat 输入如下    sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start    则 5144 就为过程号 pid = 5144    kill -9 5144 就能够彻底杀死tomcat    查看tomcat    ps -ef |grep tomcat 杀死tomcat     kill -9 pid        //pid 为相应的过程号启动tomcat    /opt/tech/appStore/apache-tomcat-6.0.35/bin/startup.sh

1.3.5 为每个tomcat配置独自的jdk

一、装置jdk,如jdk-6u45-linux-x64.bin1、增加执行权限     chmod u+x jdk-6u45-linux-x64.bin2、解压     ./jdk-6u45-linux-x64.bin二、配置tomcat的 ../bin/setclasspath.sh    在文件的结尾增加以下export JAVA_HOME=/opt/saiwen/jdk1.6.0_45  export JRE_HOME=/opt/saiwen/jdk1.6.0_45/jre三、重启tomcat部署多个tomcat次要批改三个端口:1.HTTP端口,默认8080,如下改为8081<Connector port="8081" protocol="HTTP/1.1"                connectionTimeout="60000"                redirectPort="8443" disableUploadTimeout="false"  executor="tomcatThreadPool"  URIEncoding="UTF-8"/>2.近程停服务端口,默认8005,如下改为8006<Server port="8006" shutdown="SHUTDOWN">......3.AJP端口,默认8009,如下改,8010<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

1.3.6 yum rpm装置卸载软件

yum装置:       # yum install 包名yum卸载:       # yum -y remove 包名       查问所有装置软件     rpm -qa查看是否装置软件     rpm -qa | grep java      卸载软件             rpm -e    如果提醒有依赖,能够加上 --nodeps [root@localhost openldap]# rpm -qa | grep openldapopenldap-2.4.44-15.el7_5.x86_64openldap-servers-2.4.44-15.el7_5.x86_64compat-openldap-2.3.43-5.el7.x86_64[root@localhost openldap]# rpm -e --nodeps openldap-2.4.44-15.el7_5.x86_64[root@localhost openldap]# rpm -e --nodeps openldap-servers-2.4.44-15.el7_5.x86_64[root@localhost openldap]# rpm -e --nodeps compat-openldap-2.3.43-5.el7.x86_64

1.3.7 make装置卸载软件

用于linux源码装置软件,个别下载源码包失去文件:xxxx.tgz1、解包软件tar zxf xxxx.tgz2、配置cd xxxx./configure ....3、编译make4、装置make install5、卸载make uninstall

<h3 id="IP"></h3>

1.4 IP及防火墙

1.4.1 查看ip及端口是否能够拜访、凋谢端口

    wget http://127.0.0.1:8080     ping + ip: 查看某一个ip地址是否可能连通,如: ping 114.80.67.193     telnet ip port : 查看某一个机器上的某一个端口是否能够拜访,如:telnet 114.80.67.193 8080     netstat -nal  查看网络通信状况 查看端口占用    netstat -ntlp   //查看以后所有tcp端口·    netstat -ntulp |grep 80   //查看所有80端口应用状况·    netstat -an | grep 3306   //查看所有3306端口应用状况·        查看凋谢的端口    firewall-cmd --list-all凋谢端口firewall-cmd --zone=public --add-port=4789/udp --permanentfirewall-cmd --zone=public --add-port=80/tcp --permanent  firewall-cmd --zone=public --add-port=80/udp –permanenfirewall-cmd --zone=public --add-port=8060/tcp --permanent刷新firewall-cmd --reload

1.4.2 敞开centos的防火墙

一、firewall形式    firewall-cmd --state                    查看防火墙状态    systemctl stop firewalld.service         敞开防火墙,centos7下    systemctl disable firewalld.service     敞开开机启动二、service形式    查看防火墙状态:     [root@centos6 ~]# service iptables status    iptables:未运行防火墙。    开启防火墙:    [root@centos6 ~]# service iptables start    敞开防火墙:    [root@centos6 ~]# service iptables stop         /etc/sysconfig/iptables三、iptables形式    先进入init.d目录,命令如下:    [root@centos6 ~]# cd /etc/init.d/    [root@centos6 init.d]#     而后    查看防火墙状态:    [root@centos6 init.d]# /etc/init.d/iptables status    临时敞开防火墙:    [root@centos6 init.d]# /etc/init.d/iptables stop    重启iptables:    [root@centos6 init.d]# /etc/init.d/iptables restart

<h3 id="knowledge"></h3>

1.5 知识点

1.5.1 查看内存

topfree -m  cat /proc/meminfo 机器的内存应用信息cat /proc/pid/maps pid为过程号,显示以后过程所占用的虚拟地址。cat /proc/pid/statm 过程所占用的内存[root@localhost webapps]# free              total       used       free     shared    buffers     cachedMem:       4043716    3783532     260184          0      31424     340132-/+ buffers/cache:    3411976     631740Swap:      2096472     993204    1103268输出:freetotal:总计物理内存的大小used:已应用多大free:可用有多少Shared:多个过程共享的内存总额Buffers/cached:磁盘缓存的大小第三行(-/+ buffers/cached)used:已应用多大free:可用有多少第四行就不多解释了。区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于应用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被应用,所以他的可用内存是260184KB,已用内存是3783532KB,第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了进步文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。所以从应用程序的角度来说,可用内存=零碎free memory+buffers+cached。 如上例:631740=260184+31424+340132

1.5.2 linux规范输入输出2>&1

linux规范输入输出2>&1 /home/share/timerSearch/timerSearchDB.sh >> /home/share/timerSearch/record.txt 2>&1 linux中有三种规范输入输出,别离是STDIN,STDOUT,STDERR,对应的数字是0,1,2。     STDIN是规范输出,默认从键盘读取信息;STDOUT是规范输入,默认将输入后果输入至终端;STDERR是规范谬误,默认将输入后果输入至终端。     因为STDOUT与STDERR都会默认显示在终端上,为了辨别二者的信息,就有了编号的0,1,2的定义,用1示意STDOUT,2示意STDERR。     2>&1,指将规范输入、规范谬误指定为同一输入门路eg1:cat >>filetest 2>&1 <<END      -------建设filetest文件,当输出遇到END时,退出eg2:     1、以普通用户执行 find /etc -name passwd 命令,默认会将命令的执行后果(STDOUT)与错误信息(STDERR)都输入至终端显示器。     2、执行find /etc -name passwd >find.out 2>find.err,会将STDOUT与STDERR别离寄存至find.out和find.err中。该命令也能够写成上面三种模式          find /etc -name passwd 1>find.out 2>find.err          find /etc -name passwd 2>find.err >find.out          find /etc -name passwd 2>find.err 1>find.out     3、若要将所有规范输入及规范谬误都输入至文件,可用&示意全副1和2的信息,eg:          find /etc -name passwd &>find.all 或 find /etc -name passwd >find.all 2>&1     4、2>&1 ---规范谬误从新定向到规范输入     5、用法:find /etc -name passwd &2>&1 |less          可分解成          find /etc -name passwd & 示意后面的命令放到后盾执行。          2>&1 |less 示意将规范谬误重定向至规范输入,并用less进行分页显示          https://www.cnblogs.com/jacob-tian/p/6110606.html

1.5.3 定时执行脚本笔记

定时查问docker的mysql数据库并保留#!/bin/bash#file=/home/share/timerSearch/record.txt#crontab -uroot -e#*/1 * * * * /bin/bash /home/share/timerSearch/timerSearchDB.sh >> /home/share/timerSearch/record.txt 2>&1echo "===============begin=========================" echo "定时查问脚本启动了。。。" date "+%Y-%m-%d %H:%M:%S" docker_name=mobile_uccp_db_1sql="use YCKPLUS;select id,loginName,name,password,idcard,field29 from T_USER where loginName='admin'\G;"#docker exec -it ${docker_name} mysql -uroot -psaiwen.web123 -e $sql  >> $filedocker exec -i mobile_uccp_db_1 mysql -uroot -psaiwen.web123 -e "select now();use YCKPLUS;select id,loginName,name,password,idcard,field29 from T_USER where loginName='admin'\G;"  >> /home/share/timerSearch/recordDB.txtecho "" echo "" #crontab -uroot -e0 3 * * 5 /data/saiwen/shell/copyCasSecret.sh阐明:分钟   小时   日   月   星期   命令*        *      *    *     *       *第1列示意分钟1~59 每分钟用*或者 */1示意第2列示意小时1~23(0示意0点)第3列示意日期1~31第4列 示意月份1~12第5列标识号星期0~6(0示意星期天)第6列要运行的命令

1.5.4 文件权限

查看文件属性     ls -l test.sh赋予执行权限    chmod +x test.sh赋予全副权限    chmod 777 test.sh扭转文件属性(二进制)      chmod #chmod 664 chap1.txt           110110100  扭转文件属性(字母)        chmod u=rw,g=rw,o=r chap1.txt       r w x扭转文件所属用户            chown user1 chap1.txt扭转文件所属用户及所属组    chown user1:root chap1.txt扭转文件所属组              chgrp root chap1.txtLinux零碎是个多用户零碎,应该能做到不同的用户能同时拜访不同的文件,因而肯定要有文件权限管制机制。Linux零碎的权限管制机制和Windows的权限管制机制有着很大的差异。Linux的文件或目录都被一个用户领有时,这个用户称为文件的拥有者(或所有者),同时文件还被指定的用户组所领有,这个用户组称为文件所属组。 用户 u --所属组 g --其余用户 o -- 所有用户 a user - group - other - all要阐明的是,一个用户能够是不同组的成员,这能够由管理员管制,咱们将在用户治理这一章介绍如何管制的问题。文件的权限由权限标记来决定,权限标记决定了文件的拥有者、文件的所属组、其余用户对文件拜访的能力。能够应用“ls –l”命令来显示权限标记。例如:[test @redflag test]$ls -l-rw-rw-r-- 1 longkey root 16 20A 24 22:23 chap1.txt本例中,文件chap1.txt的拥有者是longkey,所属组是root。这里咱们特地关怀的是输入行后面的第1~10个字符。第1个字符代表文件类别,第2~4个字符“rw-”是文件拥有者的权限,第5~7个字符“rw-”是文件所属组的权限,第8~10个字符“r--”是其余用户(即除了root用户和longkey用户组里的用户之外的用户)文件拥有者的权限。而权限均用三个字符示意,顺次为读(r)、写(w)、执行(x),如果某一位为“-”,则示意没有相应的权限,例如:“rw-”示意有读、写的权限,没有执行的权限。在本例中,文件拥有者longkey用户对文件有读、写的权限,root组的所有用户对文件也有读、写的权限,而其余用户对文件只有读的权限。设定文件权限时,在模式中罕用以下的字母代表用户或用户组:u——文件的拥有者;g——文件的所属组;o——其余用户;a——代表所有用户(即u+g+o)。权限用以下字符示意:r ——读权限;w——写权限;x——执行权限;最初要指明是减少(+)还是缩小(-)权限,或是相对权限(=)。 [root @redflag /root]chmod o+w chap1.txtchap1.txt的权限由原来的“rw-rw-r--”变为“rw-rw-rw-”,示意减少其余用户对文件的写权限。  [root @redflag /root]chmod u=rw,g=rw,o=r chap1.txt  chap1.txt的权限变为“rwxrw-r---”,不管原来的权限是什么,这示意拥有者对文件有读、写的权限,所属组的用户对文件也有读、写的权限,而其余用户只有读的权限。咱们在以上设置权限时,用字符示意权限和用户,实际上咱们也常常应用八进制来示意。读、写、执行顺次各自对应一个二进制位“???”,如果某位为“0”,则示意无权限;如果某位为“1”,则示意有权限。例如:文件权限为r---w---x时,用二进制示意为100010001,用十进制能够示意为421。例如:         [root @redflag /root]#chmod 664 chap1.txt  等同于:  [root @redflag /root]#chmod u=rw,g=rw,o=r chap1.txt        chown 用户名 文件或目录名——扭转文件(或目录)的拥有者或所属组       例如:     [root @redflag /root]#chown longkey chap1.txt把文件chap1.txt的拥有者改为longkey用户。     [root @redflag /root]#chown longkey:root chap1.txt把文件的拥有者改为longkey用户,同时文件的所属组改为root组。chgrp组 文件或目录——扭转文件或目录的所属组     chown能够同时扭转文件拥有者和所属者,chgrp只具备扭转所属组的性能。例如:    [root @redflag /root]#chgrp root chap1.txt        文件chap1.txt的所属组设为root组。        

<h3 id="userGroup"></h3>

1.5.5 用户和组的治理

su         切换rootsu user1   切换用户groups         查看以后用户所在组groups  user1  查看user1用户所在的组whoami         查看以后登录用户名/etc/group  文件蕴含所有组及用户/etc/shadow和/etc/passwd零碎存在的所有用户名创立用户      useradd  user1;设置用户明码  passwd user1;删除用户      userdel user1;删除用户(包含主目录文件 /home/user1)  userdel -r user1;groupadd testgroup  组的增加groupdel testgroup  组的删除只有root和组管理员可能扭转组的成员:gpasswd –a user1 users    把 user1退出users组gpasswd –d user1 users    把 user1退出users组groupmod –n user users    批改组名user为users锁定用户  passwd -l user1解锁用户  passwd -u user1用户增加到组usermod -a -G groupA user-a 代表 append, 也就是 将本人增加到 用户组groupA 中,而不用来到 其余用户组 

<h2 id="endOther"></h2>

2、其余

2.1 java过程高CPU占用故障排查

生产环境下JAVA过程高CPU占用故障排查 解决过程:1,依据top命令,发现PID为2633的Java过程占用CPU高达300%,呈现故障。2,找到该过程后,如何定位具体线程或代码呢,首先显示线程列表,并依照CPU占用高的线程排序:[root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort -rn显示后果如下:USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIMEroot     10.5  19    - -         -      -  3626 00:12:48root     10.1  19    - -         -      -  3593 00:12:16找到了耗时最高的线程3626,占用CPU工夫有12分钟了!将须要的线程ID转换为16进制格局:[root@localhost logs]# printf "%x\n" 3626e18最初打印线程的堆栈信息:[root@localhost logs]# jstack 2633 |grep e18 -A 30总结:1. 先应用top命令查问java占用cpu高的过程2. 应用 ps -mp 查找出该过程下外面耗用工夫长的线程3. 应用printf "%x\n" 3626 将线程转换为16进制4. 应用 jstack 2633 |grep e18 -A 30 应用此命令打印出该过程上面的此线程的堆栈信息 

2.2 批改linux工夫

http://blog.chinaunix.net/uid-20672257-id-3013282.html调整linux零碎工夫和时区与Internet工夫同步一、批改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime批改为中国的东八区# vi /etc/sysconfig/clockZONE="Asia/Shanghai"UTC=falseARC=false二、配置新的工夫日期设定:# date -s 2008/05/06工夫设定:# date -s 18:40:00查看硬件工夫(BIOS的):    hwclock [-rw]     -r:查看现有BIOS工夫,默认为-r参数    -w:将当初的linux零碎工夫写入BIOS中    当咱们进行完 Linux 工夫的校时后,还须要以 hwclock -w 来更新 BIOS 的工夫,因为每次开机的时候,零碎会从新由 BIOS 将工夫读出来,所以, BIOS 才是重要的工夫根据。# hwclockTue 06 May 2008 03:49:37 PM CST  -0.039646 seconds同步BIOS时钟,强制把零碎工夫写入CMOS:# clock -w先应用 date -s 10/17/2008 批改日期而后 date -s 10:12:13 批改工夫clock -w    写入bios

2.3 批改句柄

查看句柄        ulimit -n          批改句柄  有三种方法: https://blog.csdn.net/skieske/article/details/79261469①:ulimit -n 65536 这种是一次性的,当服务器重启或者从新登录服务器就会变成1024②:vi /etc/security/limits.conf 批改linux零碎参数。增加*  soft  nofile  65536*  hard  nofile  65536这种方法须要重启服务器 ③:vim /etc/profile 增加/或者批改: ulimit -SHn 65536 而后使批改失效: source /etc/profile 而后再ulimit -a倡议三种办法都要试一下

2.4 问题

    history 历史记录显示工夫            在/etc/profile 中减少  export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "    写入环境变量           source /etc/profile
centos7虚拟机不能上网        在存储linux目录的CentOS.vmx文件退出  ethernet0.virtualDev = "e1000"  再重启虚拟机    linux虚拟机上传下载文件      关上虚拟机linux,应用命令 ifconfig 查看ip,再应用xshell连贯。
微信企业号连贯超时: connect timed out  wget https://qyapi.weixin.qq.com/cgi-bin/gettoken  ping qyapi.weixin.qq.com    1、可能是防火墙关上了  2、/etc/hosts  策略配置错了

2.5 星期月份英语

==============================================================星期一: Mon.=Monday        Monday星期二: Tues.=Tuesday      Tuesday 星期三: Wed.=Wednesday     Wednesday星期四: Thur.=Thursday     Thurday星期五: Fri.=Friday        Friday星期六: Sat.=Saturday      Saturday 星期天: Sun.=Sunday        Sunday一月份=JAN. Jan.=January   January二月份=FEB. Feb.=February  February三月份=MAR. Mar.=March     March四月份=APR. Apr.=April     April五月份=MAY May=May         May六月份=JUN. Jun.=June      June 七月份=JUL. Jul.=July      July八月份=AUG. Aug.=August    August九月份=SEP. Sept.=September  September十月份=OCT. Oct.=October   October十一月份=NOV. Nov.=November  November十二月份=DEC. Dec.=December  December东西南北  East West South North  ===  e w s n==============================================================