Linux命令(各类型操作详解)

sudo chmod 777 *.sh    对.sh文件开启管理员权限(*文件名)
sudo ***            以管理员身份运行命令
sudo chown -R finance:bbd /home/finance    为finance用户赋予操作/home/finance目录的权限
ps -ef  | grep xxx        ps -ef(查看进程 ) | 是管道连接符 grep 筛选条件
kill ***            结束进程
java -jar ***.jar        运行jar
kill -HUP pid         如果想要更改配置而不需停止并重新启动服务,请使用该命令 
route add -p 160.161.12.0 mask 255.255.255.0 188.178.168.1    命令行窗口修改路由规则
tailf XXX.log        打印日志,并且持续跟踪日志
su username        切换用户username
netstat -ano        查询端口列表详情

#################文件操作、文件夹操作(命令后面加上 -r )######
./            当前目录
ls            当前文件目录列表
ll            当前文件目录列表详细信息
pwd            当前工作目录路径
clear            清屏
mkdir test            创建文件夹名称为test
cd test            进入test文件夹
touch test.java        创建一个test.java的文件
vim test.java            编辑文件test.java   (:wq保存并退出编辑,:q退出不保存,:q!强制退出)
cat test.java            查看文件test.java
./***.sh            运行脚本文件
rm test.sh            删除文件
sudo find / -name "文件名"    快速查找文件

scp /home/1.test root@192.168.1.116:/home/    发送主机文件到远程节点目录(复制本机/home/1.test文件,以远程节点root用户保存在远程节点/home目录下)
scp -r root@192.168.1.107:/home/test /home    拉取远程节点目录到本机目录(以root用户复制远程节点目录192.168.1.107:/home/test,保存到本机目录/home)

cp file /usr/men/tmp/file1    将文件file复制到目录/usr/men/tmp下,并改名为file1(所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录)
cp -r /usr/men /usr/zh    将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

mv aaa bbb        将文件 aaa 更名为 bbb 
mv info/  logs         将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。
mv  /usr/student/*   ./    再如将/usr/student下的所有文件和目录移到当前目录下

#################rpm命令#######################
rpm命令是RPM软件包的管理工具

rpm -ivh your-package                # 直接安装
rpmrpm --force -ivh your-package.rpm # 忽略报错,强制安装
rpm -ql tree                查询tree包文件安装的位置
rpm -e tree        卸载tree包
rpm -qa            列出所有安装过的包
rpm -q tree        获取tree软件包的文件全名


###################tar命令#####################
tar -zxvf Python-2.7.3.tgz    解压tar包
tar -zcvf app.tar.gz --exclude=*.log  --exclude=test ./app    将当前目录下app目录打一个tar包,并用gzip压缩,包名为app.tar.gz,并忽略所有.log文件、名为test的文件名及目录名


##############下载升级安装python并启动###########
wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz    下载安装包
tar -zxvf Python-2.7.3.tgz            解压tar包
cd Python-2.7.3                进入解压后的文件夹
mkdir /usr/local/python27            在/usr/local建一个文件夹python27(作为Python的安装路径,以免覆盖老的版本)
./configure                编译
make && make install            安装
mv /usr/bin/python /usr/bin/python_old        再将原来/usr/bin/python链接改为别的名字
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python    再建立新版本python的链接
python -V                    检查修改后的python版本

ip:0.0.0.0
映射当前网络下所有ip(如一个tomcat配置文件中,如果监听的IP地址设置了 0.0.0.0 就表示你的这个tomcat服务器监听在本机的所有IP地址上,通过任何一个IP地址都可以访问到;如果本地的IP地址有 192.168.1.10, 172.16.2.10,那么访问你这个tomcat就可以 http://192.168.1.10:8080/http://172.16.2.10:8080/ 都可以访问)

在本地运行程序python manager.py runserver访问地址:http://127.0.0.1:5000;此时,默认只能本地访问网站,如果需要其他人也可以访问,需要指定0.0.0.0这个ip,就要再加入参数:--host 0.0.0.0。其他人访问的时候就要输入电脑的ip地址加上端口5000就OK了。
python manager.py runserver --host 0.0.0.0 --port 7000    运行python,--host指定ip,--port指定端口(默认端口是5000)


##############oracle操作##################
su - oracle        转为Oracle用户
sqlplus / as sysdba        进入sqlplus操作
imp 数据库用户名/密码@orcl file=dmp的路径(事例:/var/test.dmp) full=y(全部导入、整个库)    导出数据库(imp换成exp导入)
创建表空间

create tablespace test datafile '/data/dbms/test.dbf' size 100M autoextend on next 100M;

创建用户

create user test identified by test123 default tablespace test;

赋予权限

grant connect,resource,dba to test;

删除用户

drop user test cascade;

删除表空间

drop tablespace test including contents and datafiles cascade constraint;

################Nginx####################
reload,重新加载的意思,reload会重新加载配置文件,nginx服务不会中断,而且reload时会测试conf语法等,如果出错会rollback用上一次正确配置文件保持正常运行。
restart,重启,会重启nginx服务。这个重启会造成服务一瞬间的中断,当然如果配置文件出错会导致服务启动失败,那就是更长时间的服务中断了。
sudo nginx -s reload        使用重载命令使nginx生效
/etc/init.d/nginx restart    使用命令重启nginx生效
sudo nginx -t        输出正在使用的配置文件

Nginx项目配置:

server{
  listen 8000;  

  server_name cp.test.com;
  client_header_buffer_size 128k;
  client_body_buffer_size 1m;
  proxy_buffer_size 32k;
  proxy_buffers 64 32k;
  proxy_busy_buffers_size 1m;
  proxy_temp_file_write_size 512k;
  location  / {

    ##前端部署路径
    root /home/finance/web/test;
    index index.html;
    proxy_set_header         X-Real-IP $remote_addr;
    proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 600s;
    #### kill cache
    add_header Last-Modified $date_gmt;
    add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
    if_modified_since off;
    expires off;
    etag off;
  }
  location /api/ {
    rewrite ^/api/(.*)$ /$1 break;   #所有对后端的请求加一个api前缀方便区分,真正访问的时候移除这个前缀
    # API Server
    proxy_pass http://166.166.6.61:8600;  #将真正的请求代理到serverA,即真实的服务器地址,ajax的url为/api/user/1的请求将会访问http://www.serverA.com/user/1
    proxy_set_header         X-Real-IP $remote_addr;
    proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 600s;
        }
}

项目启动脚本(与jar包同一目录):start.sh

#!/bin/sh
u=`whoami` ;
red='\033[0;31m';
green='\033[0;32m' ;
yellow='\033[0;33m' ;
plain='\033[0m';
echo -e  "${green}INFO${plain}: 当前用户:${green}$u${plain}"

SERVICE_NAME="credit-platform"

cd `dirname $0`
BIN_DIR=`pwd`
LOG_DIR=$BIN_DIR/logs/
STDOUT_FILE=$BIN_DIR/std.log

JAR=`find ./*.jar`

#cd ..

DEPLOY_DIR=`pwd`
# DATABASE_OPTS="-Dspring.datasource.url=jdbc:mysql://172.32.3.77:3306/bbd_plutus_management?useUnicode=true&characterEncoding=utf-8&useSSL=false "
# DATABASE_OPTS=" -Dspring.datasource.url=jdbc:oracle:thin:@172.32.98.15:1521:orcledb -Dspring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver -Dspring.datasource.username=plutus -Dspring.datasource.password=dev@bbd "
## -Dspring.config.location=~/application-production.yml
JAVA_OPTS=" -Dserver.port=8200 -Dspring.profiles.active=dev -Dlogging.path=$LOG_DIR -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Dspring.config.location=./application.yaml,./application-dev.yaml "$JAVA_OPTS

#JAVA_DEBUG_OPTS=""
#if [ "$1" = "debug" ]; then
JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=18002,server=y,suspend=n "
#fi
#JAVA_JMX_OPTS=""
#if [ "$1" = "jmx" ]; then
#    JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
#fi
JAVA_MEM_OPTS=" -server -Xmx1024m -Xms512m -Xmn256m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=management-error.dump -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
echo -e "${green}INFO${plain}: Starting the $SERVICE_NAME ...\n"

nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS  -jar $JAR >$STDOUT_FILE 2>&1 &

echo $! > $BIN_DIR/tpid
sleep 1s
echo -e "${green}INFO${plain}: $SERVICE_NAME start success!\n"

PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`

echo -e "${green}INFO${plain}: PID $PIDS"

tail -f std.log


项目关闭脚本(与jar包同一目录):stop.sh

#!/bin/bash
u=`whoami` ;
red='\033[0;31m';
green='\033[0;32m' ;
yellow='\033[0;33m' ;
plain='\033[0m';

JAR=`find ./*.jar`

cd `dirname $0`
ids=`ps -ef|grep java|grep $JAR |awk '{print $2}'`
if [[ ! "$ids" ]];then
    echo -e "${yellow}WARN${plain}:plutus-management-system 进程不存在"
else
    echo -e "${green}INFO${plain}: 准备结束资信平台微信端服务 数量:`echo ${ids}|awk '{count++}END{print count}'` "
    echo -e "${ids}"|xargs kill -9
fi


如果上传文件时超过了nginx限制,就会返回一个“413 Request Entity Too Large”的错误
我们只要更改nginx的配置文件“nginx.conf”即可
在http{}中添加一个client_max_body_size 20m;配置项;
修改完之后重启nginx或reload配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值