LINUX使用和开发

[root@localhost ~]#

root当前登录用户名
localhost:主机名(全名localhost.localdomain)
~当前目录,默认宿主目录(按登录名为其自动分配一个目录,/root /zhangsan)
# 用户身份-管理员($表示用户身份-普通用户)

常用命令

查看系统信息

命令后缀参数含义
ifconfig相当于Windows的ipconfig,查看IP地址
ping查看网络通信是否通畅(必须配合control+c停止后查看结果,否则会一直检测)
serviceiptables status查看防火墙状态
iptables stop关闭防火墙
top查看系统进程(仅系统进程)
free-m查看系统中的用户
ps-e查看包括其他用户的进程
ps-f
-aux类似-ef
systemctllist-unit-files列出所有启动文件
enableservicename.service加入开启自启动
is-enabledservicename.service查看是否开启自启动
enableservicename.service加入开启自启动
statusservicename.service查看状态是否Active
start/stop/restart/reloadservicename.service开启、关闭、重启、重载配置

键盘操作

命令后缀参数含义
control+c停止某个命令
q退出当前命令
Ctrl+L清屏
tab自动补全

文件相关

【d文件类型】d目录 -文件
【rwx拥有者权限】r读read w写Write x执行Execute
【r-x所属组权限】r-x 可读可执行不可写
【r-x其他人权限】r-x 可读可执行不可写
【root拥有者】
【root所属组】root/
【4096文件大小】文件夹默认4096,文件则是其实际大小
【Nov 5 2014文件创建时间】
【Documents 文件名】

命令后缀参数含义
cd空格返回上级目录
/目录/XXChangeDirectory切换目录
pwdprintWorkDirectory查看工作目录
mkdir创建目录
ls-l展示目录下所有文件的详细信息
ls-d展示展示文件夹自身的信息
ls-a展示隐藏文件(.开头的文件)
ls-h显示一些单位等信息,方便阅读
touch新建文件
mv原文件名 新文件名修改文件 (名称、路径)
rm文件名删除文件
空目录名删除目录(无法删除非空目录)
-r递归删除非空目录 (需手动不断选择y确认删除其中的每个文件)
-rf强制递归删除非空目录(直接删除无需确认)
*s 正则表示法通配 删除当前目录下所有(*)以s结尾的文件
file文件名显示文件名对应的类型信息
-i文件名显示MIME类型
-b文件名显示简单信息(不显示文件名)
find路径 -name 正则指定路径下文件名符合正则标准的文件
路径 - empty指定路径下的空文件
路径-size +300M指定路径下大小为300M以上的文件
路径 -type f指定路径下的普通文件( f表示普通文件)
路径 -ctime 20指定路径下20天内更新过的
路径 -mtime +7指定路径下最新更新时间为7天以前
路径 -命令 -exec 查找之后执行的命令 {} \-exec :拼接要继续执行的命令
{ } \ ; 结束符 固定的
find test -name tx -exec ls -l {} ;
cat查看小文件(直接全部显示)
more查看大文件(分页方式,回车继续,q或control+c退出)
head-n100查看头部100条
tail-n100查看尾部100条
vi/vimvim是vi的升级版本,一般使用vim
文件名进入对某文件的命令模式(vi、vim的模式);文件若不存在,会自动创建
-i进入 输入模式
esc退出当前模式(输入模式)
:wq保存并退出 命令模式
:q不保存直接退出(文件如果已修改,无法退出)
:q!不保存,强制退出
\向后查找
n查找下一处
N查找上一处
A在行尾附加
tar-zxf压缩包
-czf压缩包名需压缩的文件列表:打包并压缩
-zxvf压缩包名
-C位置指定解压位置:展示解压过程并解压到指定目录
scp远程同步文件/目录
rsync远程同步文件/目录

进程相关

命令后缀参数含义
kill-9终止进程
nohup忽略输入,忽略session关闭信号(如终端窗口关闭)而持续运行程序,对Ctrl+C的退出信号敏感(收到CtrlC正常退出);
程序的输出默认保存到nohup.out;
&忽略Ctrl+C的退出信号而持续运行程序,对session关闭信号(如终端窗口关闭)敏感

用户及权限

编号0:root 超级管理员
编号1-499:管理员用户
编号500以后:普通用户

查看身份信息:
etc/passwd
etc/shadow

命令后缀参数含义
useradd
passwd为用户设置密码
chmod更改权限
所属组+= 或 -= 权限名 文件/文件夹名chmod o+=rwx /root 给其他组(o)在原有权限基础上(=)添加(+)读写执行权限(rwt)针对root文件夹(/root)
数字表示法:r=4 w=2 x=1chmod 777 /root
chown-R新拥有者:所属组 路径名递归(-R)更改某路径(路径名)下所有文件的拥有者和所属组

其他

命令后缀参数含义
grep筛选不能跟正则,只能模糊匹配字符串或使用内置命令
-vXX筛选并排除XX
|管道符,连接两个命令
yuminstallfilename在线安装 (到当前目录)
rpm-e卸载(存在依赖就卸载不了)
–nodeps无视依赖关系而直接卸载
-qa字符查询已安装的含字符的文件
awk文件处理
-F指定分隔符
nohup
sed

小功能

Server重启后服务自动重启

  1. 编写一个脚本,当服务没有在运行时,启动服务的最新版本
export version=`ls /path/ | grep app.*.jar | tail -n 1 | awk -F- '{print $2}'| awk -F.jar '{print $1}'`;
echo "app latest version=$version";
ps -ef | grep "app-$version.jar"|grep -v "grep" | grep -v "tail"
if [ ! $? = 0 ]
then
cd /path/
nohup /usr/bin/java -jar app-$version.jar --server.port=8000 >> /path/logs/app.log 2>&1 &
echo "restart app $version with system restart  finish.";
fi
  1. 修改脚本权限为可执行

  2. 自动执行脚本(二选一,或者都配置)

    a. profile.d 开机执行
    将脚本放到 /etcc/profile.d下即可
    b. crontab定时执行
    执行 crontab -e 命令,以编辑crontab任务 : 插入一条新的定时任务执行脚本,:wq退出并保存

* */2 * * * /path/crontab.ksh >> /path/logs/crontab.log 2>&1
#corn表达式(每2分钟执行1次)  定时执行的脚本全路径 把crontab的输出重定向到  crontab的日志路径

Log重定向

即在程序中不使用日志框架的FileAppender,只使用Console输出Log,部署到Server后,执行 java -jar 时 跟上以下命令:

>> /path/logs/app.log 2>&1 &

将日志重定向到linuxServer的指定位置。

好处:
可以记录到一些程序异常退出的输出(日志框架是应用内部的,有些应用异常终止就不会记录了)
手写定时任务清理日志,更便捷自定义保存格式、时限等。

大文件切分

parallel=20
n=1
bgn=1


#切分成20份
total_cnt=`cat ${path}/file.txt|wc -l`

while [[ $n -le $parallel ]]
do
divide_num=`echo $total_cnt/$parallel*$n|bc`
divide_num_end=`echo $divide_num-1|bc`
echo "divide_num is $divide_num"
if [[ $n -eq $parallel ]]
then
        cat ${path}/file.txt|sed -n ${bgn},'$'p >> $path/file_part${n}.txt
else
        sed -n ${bgn},${divide_num_end}p ${path}/file.txt >> $path/file_part${n}.txt
fi
chmod +x $path/file_part${n}.txt
((n+=1))
((bgn=$divide_num))
done

Crontab

安装并启动Crontab服务
yum -y install crontabs
systemctl start crond.service
systemctl enable crond.service
systemctl is-enabled crond.service
systemctl status crond.service

修改权限
/etc/cron.allow
/etc/cron.deny
每行一个用户,不允许空格;控制文件在每次用户添加或删除一项 cron 任务时都会被读取;无论使用控制文件中的规定如何,root 都总是可以使用 cron。
如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。
如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。

编辑定时启动任务

命令后缀参数含义
Crontab-e*(分) *(时)  *(日)  *(月) *(周)  command(命令)编辑该用户的计时任务
-l列出该用户的计时任务
-r删除该用户的计时任务
-u<用户名称>指定要设定计时任务的用户名称

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

rz

手动选取要传至服务器的文件,添加,确定。(传到当前目录)
lrzsz软件提供的命令,传输主机与服务器之间的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值