大型企业高并发的 Java 应用程序都是部署在大型服务器之上的,而服务器的操作系统一般是使用高性能的 Linux(或Unix)的操作系统,不是 Windows 操作系统,所以编程人员需要在服务器上部署程序,就需要与服务器交互;Linux 命令成为程序员一个很必要的技能
- 部署 Web,C++等应用程序
- 定时调度:脚本(脚本中调度程序)
- 统计与数据库交互:按日统计、按月统计
[En]
Statistics interacting with database: daily statistics, monthly statistics*
- 错误数据修复
- 用户个性化数据统计
- 数据稽核预警
- 基于 Linux 平台的数据计算:例如一个月的全省联通用户的详单金额统计
- ……
大型服务器的的主机操作系统一般分为 Linux 和 Unix,IBM 主机一般安装 Linux 系统,而 HP主机一般安装 Unix 系统,两种操作系统的命令有细微的差异,但 Linux 是建立在 Unix 之上的,所以 Linux 命令适用 Unix,并且 Linux 命令严格区分大小写
命令名 [选项] [命令参数];
命令、选项和参数用空格分隔[En]
Commands, options and parameters are separated by spaces
命令名必须可用,选项和命令参数可能不可用
[En]
Command name must be available, options and command parameters may not be available
命令 描述 man ls 帮助命令:查找命令的使用方法(查看 ls 命令的使用) cd 改变路径(Change Director):注意相对路径和绝对路径 /root/user/uuu ../../../../user/io/ cd – 快速回到之前的路径(后退) pwd 当前所在目录 ls (List): 查看当前目录下的文件及文件夹 ls -a 显示隐藏文件 ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性 ls -lt 以更新时间为顺序使用长格式列出信息 ls -ltr 对输出文件进行各种排序 ls -p 只给目录添加/ ls -lt|more 空格键:一屏一屏翻页;Enter:一行一行翻页
命令 描述 touch 文件名 创建一个空文件(很少用) > 文件名 重定向方式创建一个文件,如文件没有则创建,有则清空追加 cat grf.sh > 文件名 创建一个文件 >> 文件名 重定向方式创建一个文件(
) cat grf.sh >> 文件名 重定向方式创建一个文件 mkdir 文件夹名称 创建一个文件夹 vi 编辑器命令创建文件
命令 描述 cp 文件名1 文件名2 复制文件或目录 cp -r 文件夹1 文件夹2 复制文件或文件夹都可以 mv 对象1 对象2 剪切,重命名且能操作文件夹
命令 描述 rm 文件名 删除文件 rm -r 文件夹名称 删除文件夹 rm -rf 文件夹 文件或文件夹都可以删除
命令 描述 cat 文件名 显示文件内容 more 文件名 以一页一页的形式显示,逐页阅读 cat 文件名|more 回车键(一行一行查看);空格键(一版一版查看) head -5 文件名 查看文件前五行 cat 文件名|head -5 查询前五行 tail -5 * 查看尾五行 grep 匹配搜索 文件名|grep “搜索值” 过滤搜索
命令 描述 pwd 自己所在的位置 mkdir 创建文件夹 su 切换用户 su – root 切换到 root 用户,向上切换需要密码(鉴权),由高级权限用户切换到低级用户无需鉴权 whoami 当前用户 exit 退出到上一次的用户 touch a 创建一个空文件夹 cp 拷贝文件 clear 清屏 mv 移动,源文件会没有了 gzip 文件名 文件名.gz 压缩文件 gunzip 文件名.gz 解压缩文件 tar -cvf 文件名.tar 打包一个 tar 文件 gzip 文件名.tar 压缩 tar 文件 tar -czvf 文件名.tar 打包压缩一个 tar gunzip 文件名.tar.gz 解压缩 cat 文件名.tar|tar -xvf – 显示 tar 文件内容 cat 文件名.tar.gz|tar -xzvf – 显示 gzip 压缩包文件内容 zcat 文件名.tar.gz|tar -xvf – 显示压缩包文件内容 rm 文件删除 rm -rf 删除文件或文件夹(慎用) grep -l 关键字 只列出相关的文件名 grep -n 关键字 列举出文件名,以及文件中出现的那行代码
VI 进来默认是命令行状态
状态的转换通过命令实现(命令行状态、编辑状态)[En]
The transition of state is achieved by command (command line state, edit state)
操作指令 描述 ESC 键 功能切换键,从编辑状态回到命令行状态 h,l,k,j 键 左右上下 i 在前面追加 shift + i 回到当前行首列 a 在后面追加 shift + a 回到当前行尾列 x 删除一个字母(当前光标处的内容) r 替换当前字母 cw 替换一串字母,以空格为分隔(change word) yy 复制 p 黏贴 nyy p 复制n行,n代表数字 dd 删除1行 ndd 删除n行,n代表数字 o 当前行下面加一空行 shift + o 当前行上面加一空行 shift + j 行合并 shift + d 删除当前光标到行尾的所有内容 ctrl + g 得到当前文本的总行数 shift + g 快速回到最后一行 :1 快速回到第一行 :set number 给文本一个虚拟的行号 :wq! 保存并退出 :q! 退出不保存 :w! 保存而不退出 /字符串 查找字符串 :%s/目标串/结果串/g 替换字符串 :%s/被替换/替换/g 全局替换,将String”被替换”替换为”替换” :%s/^#//g 字符串替换 :r bb.txt 读取 bb.txt 文件进来 > 定向覆盖 >> 重定向追加
文件名以 .sh 作为结尾,使用 VI 编辑器命令编写本质上是许多 Linux 命令的集合
Shell 脚本完成某项功能运行.sh脚本名将Shell 脚本持久化到磁盘中
date +%Y
date +%m%d%H%M%s
for cityCode in 1 2 3
do
echo $cityCode
done
^表示开头开头替换,#表示全局
:%s/^/#/g
cat txt|grep -v ^#|while read city
do
echo ${city}
done
cat 1.txt|awk '{a+=$2}END{printf "%10.2f\n",a}'
默认分隔符:空格
cat txt|awk '{print 50}'
cat txt|awk 'FS=""{print $0}'
cat txt|
指定分隔符
cat 1.txt|awk 'FS="|"{print $1}'
cat txt|awk '{sum+=$2}END{printf "%10.2f\n",sum}'
查看后台运行进程
ps -ef
ps -ef|grep vi
kill -9 3947
ps -ef|grep 文件名|grep -v grep|awk '{print "kill -9",$2}' |sh
ps -ef|grep 文件名|grep -v grep|awk '{print $2}'|xargs kill -9
排序,剔重
cat a.txt|sort -u
diff txt1 txt2
find . -type f|grep xxx|grep yyy
find . -type d|grep xxx|grep yyy
grep -l "18679155625" *
grep - n "18679155625" *
grep -l "18679155625" *|wc -l (L)
gzip 文件名 ---> 文件名.gz
gunzip 文件名.gz ---> 文件名
tar -cvf a.tar a ---> a.tar
gzip a.tar ---> a.tar.gz
先解压缩,再解包
gunzip a.tar.gz ---> a.tar
还原成功
cat a.tar|tar -xvf - ---> a
tar -czvf a.tar.gz
cat a.tar.gz|tar -xzvf -
compress a.txt ---> a.txt.Z
uncompress a.txt.Z ---> a.txt
linux操作系统的注释:#
ls a[0-1]文件名.txt
在模式转换之后,该命令可以调用<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>After the pattern conversion, the command can call the</font>*</details>
sh ksh
set -o vi
esc /关键字 回车 n
压缩
compress a.txt a.txt.Z
解压缩
uncompress
Linux 系统中定时调度的一个配置文件
crontab
查看使用(看看而已)
crontab -l
编辑们谨慎地使用它。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Editors use it cautiously.</font>*</details>
crontab -e
删除使用(你猜)
crontab -r drop
杀进程
ps -ef|grep vi|grep -v grep|
awk '{print $2}'|xargs kill -9
后台运行
nohup sh 文件名.sh &
自动调度
crontab
看俺自己
crontab -l
编辑
crontab -e
查看内存
df -h
vi function.sh
函数
get() {
echo ok
}
get
:wq!
sh function.sh
文件传输,传输接收
get() {
f
tp 192.168.1.1 <> jk.sh
ls -lt
给用户赋权
chomod 777 kj.sh
sh kj.sh
ls -lt
crontab -e
while sleep 3
> do
> date
> done
find /|grep
挂 crontab 的自动调度
cat kj*
cd /home/xiqingbo
echo success >>xqb.log
crontab -1
55 15 * * * /home/xiqingbo/kj.sh
vi txt
0791
0792
0793
:wq!
vi main.sh
cd /home/ztkj
cat txt|while read city
do
nohup sh list.sh ${city} &
done
:wq!
vi list.sh
city=$1
echo ${city} begin
sleep 5
echo $city end
:wq!
sh main.sh
vi list.sh
city=$1
echo ${city} begin >>grf.log
sleep 180
echo $city end >> grf.log
实时监控日志动态
tail -f grf.log
Original: https://www.cnblogs.com/xiqingbo/p/system-01.html
Author: Schieber
Title: Linux
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523902/
转载文章受原作者版权保护。转载请注明原作者出处!