Bootstrap

linux系统排列文件【记录常用的命令】

linux系统显示文件夹下文件的个数

ls -l |grep  "^-" | wc -l
wc -l kobe.txt
统计文件的行数


wc -w kobe.txt
统计文件字符串的数量

wc -m kobe.txt
统计文件字符的数量  空格  换行符也会统计进去
wc命令会自动给你的文件添加一个换行符

 统计当前目录下txt结尾的文件   分别有多少行

find . -name "*txt" | xargs wc -l

 linux系统显示文件夹下目录的个数

//可以进入到当前目录 执行以下命令
ls -l |grep "^d"|wc -l

//也可以在上级目录直接执行ll命令
//在命令权限后面显示的数字,直接减2就是文件夹中文件的个数,因为所有文件夹目录中都默认包含 ./   ../两个文件夹

linux系统将文件夹下文件按大小排列,从大到小排列

ll -lhS

linux系统将文件夹下文件按大小排列,从小到大排列

ll -lhSr

linux系统将文件夹下文件按日期排列,从新到旧排列

ll -lt

linux系统将文件夹下文件按日期排列,从旧到新排列

ll -ltr

ll或ls命令后面跟的选项,具体含义如下:

-a 列出所有文件,包含隐含文件。

  -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

  -c 输出文件的 i 节点的修改时间,并以此排序。

  -d 将目录象文件一样显示,而不是显示其下的文件。

  -e 输出时间的全部信息,而不是输出简略信息。

  -i 输出文件的 i 节点的索引信息。

  -k 以 k 字节的形式表示文件的大小。

  -l 列出文件的详细信息。

  -m 横向输出文件名,并以“,”作分格符。

  -n 用? 值? UID,GID 代替名称。

  -o 显示文件的除组信息外的详细信息。

  -q 用?代替不可输出的字符。

  -r 对目录反向排序。

  -s 在每个文件名后输出该文件的大小。

  -t 以时间排序。

  -u 以文件上次被访问的时间排序。

  -x 按列输出,横向排序。

  -A 显示除 “.”和“..”外的所有文件。

  -B 不输出以 “~”结尾的备份文件。

  -C 按列输出,纵向排序。

  -G 输出文件的组的信息。

  -L 列出链接文件名而不是链接到的文件。

  -N 不限制文件长度。

  -Q 把输出的文件名用双引号括起来。

  -R 列出所有子目录下的文件。

  -S 以文件大小排序。

  -X 以文件的扩展名(最后一个 . 后的字符)排序。

  -1 一行只输出一个文件。

  --color=no 不显示彩色文件名

  --help 在标准输出上显示帮助信息。

  --version 在标准输出上输出版本信息并退出。

======================================================================

LINUX终端隐藏光标和显示光标【终端光标和vim模式中是一致的】

隐藏

echo -e "\033[?25l"  

显示

echo -e "\033[?25h"

=======================================================================

解压文件

*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压

=========================================
将文件打成tar包
tar -cvf huanban.tar  文件名  文件名  文件名  文件名/

========================================================================


--判断表中是否存在这个字段,不存在就新增
if not exists(select * from sys.columns where name='字段名称' and [object_id]=object_id(N'表名'))
begin
 alter table 表名 add 字段名称 money;
end
GO

--判断表中是否存在这个字段,存在就删除
if exists(select * from sys.columns where name='字段名称' and [object_id]=object_id(N'表名'))
begin
 ALTER TABLE 表名 DROP COLUMN 字段名称;
end
GO

=======================================================================

=IF(COUNTIF(C$2:C$94,B9)=1,"是","否")

=======================================================================

linux设置文档编码

vim模式编辑文档

查看编码

:set fileencoding

修改文档编码

:set fileencoding=utf-8

===================================================================

统计文件中的字符个数

grep kobe test.txt | wc -l

======================================================================

查询数据库连接数

SHOW VARIABLES LIKE 'max_connections';



show status like 'max%connections';

=======================================================================

查询数据库表空间大小

select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='payindb1' 
order by data_length desc, index_length desc;

SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name',  
    table_rows AS 'Number of Rows',  
    CONCAT(ROUND(data_length/(1024*1024*1024),6),' G') AS 'Data Size',  
    CONCAT(ROUND(index_length/(1024*1024*1024),6),' G') AS 'Index Size' ,  
    CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),6),' G') AS'Total' 
FROM information_schema.TABLES  
WHERE table_schema LIKE 'payindb1';



SELECT
	table_schema AS '数据库',
	sum( table_rows ) AS '记录数',
	sum(
	TRUNCATE ( data_length / 1024 / 1024, 2 )) AS '数据容量(MB)',
	sum(
	TRUNCATE ( index_length / 1024 / 1024, 2 )) AS '索引容量(MB)' 
FROM
	information_schema.TABLES 
WHERE
	table_schema = 'payindb1';


SELECT concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') AS '所有库容量 MB' FROM information_schema.TABLES;

======================================================================

查看已删除,但是并未释放磁盘空间的文件

lsof  |  grep deleted

一般情况下,我们直接kill掉占用这些文件的进程的就可以了,这样磁盘空间就会被释放出来

======================================================================

linux服务器命令行不显示用户名加目录

当命令行出现-bash-4.2$的解决办法

cat /etc/skel/.bashrc >> /xxxx/.bashrc;    
source /xxxx/.bashrc;

xxxx为你登录的用户名
或者下面这样也可以 
         
cat /etc/skel/.bash_profile >> /xxxx/.bash_profile;
source /xxxx/.bash_profile;

=============================================================

将前一个命令的输出作为下一个命令的输入【直接kill某个进程】

ps -ef | grep java |grep unionccp | grep -v grep | awk '{print $2}'|xargs kill -9

============================================================

测试环境造数:PreparedStatement 分库分表批量插入数据

public static void main(String[] args) {
        Connection con;
        //jdbc驱动
        String driver = "com.mysql.jdbc.Driver";
        //这里我的数据库是test,大家可以改成自己的数据库
        String url = "jdbc:mysql://xx.xxx.x.xxx:xxxx/xxxxdb1?&useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password = "root";
        try {
            //注册JDBC驱动程序
            Class.forName(driver);
            //建立连接
            con = DriverManager.getConnection(url, user, password);
            if (!((Connection) con).isClosed()) {
                System.out.println("数据库连接成功");
            }
//            Statement statement = con.createStatement();
//            PreparedStatement preparedStatement = con.prepareStatement("");
//            preparedStatement.execute("");
            String batch = "002";
            //八个库
            for (int i1 = 1; i1 < 9; i1++) {
                //5号日表到8号日表
                for (int i2 = 5; i2 < 8; i2++) {
                    String insertSql = "INSERT INTO xxxxdb" + i1 + ".xxxx_txn_info_"+i2+ "(id, pDate, serialNo, reqDate, reqTime, reqChannel, channelId, glblSrlNo, cnlTxnCd, cnsmrSysId, sysId, txnRoute, txnType, backUrl, txnNo, txnDate)\n" +
                            "VALUES(?, '2024-03-19', ?, '20240319', '150111', 'S91', 'S91', ?, 'xxxxx', 'IFS.FM', 'CBIB', 'xxxxx', '71', '', ?, '20240319');\n";
//            statement.execute(insertSql);
//            statement.close();
                    PreparedStatement preparedStatement = con.prepareStatement(insertSql);
                    for (int i = 0; i < 1000; i++) {
                        preparedStatement.setString(1, "202403190691169" + batch + i);
                        preparedStatement.setString(2, "J011249" + batch + i);
                        preparedStatement.setString(3, "20240319145114166" + batch + i);
                        preparedStatement.setString(4, "20240319000000" + batch + i);
                        preparedStatement.addBatch();

                    }
                    int[] ints = preparedStatement.executeBatch();
                    preparedStatement.close();

                }
            }
            con.close();
        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动没有安装");

        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败");
        }
    }

===============================================

小游戏

在线观看星球大战

telnet towel.blinkenlights.nl

退出星球大战

要停止动画,按 ctrl +],在这之后输入 quit 来退出 telnet 程序

 

 水族馆

水族馆
asciiquarium
黑客帝国
cmatrix
小火车
sl
唤起小牛说话
cowsay xxx

唤起一团火焰
aafire

彩虹小猫【需要下载源码   并make编译后执行】
nyancat

=====================================================

find

查找当前目录下文件名为xxx的文件
find  . -name "xxx"
查找当前目录下文件名为xxx的文件,忽略大小写
find  . -iname "xxx"

查找当前目录下大小大于500M的文件
find -size +500M

查找当前目录下大小小于1M的文件
find -size +1M
查找当前目录往下两层  大小大于500M的文件
find -maxdepth 2 -size +500M

查找一天内修改过的文件
find -mtime -1
查找一分钟内修改过的文件
find -mmin -1

查找在一天以内被创建的文件
find -ctime -1
查找在1分钟内创建的文件
find -cmin -1

查找类型为文件,文件名为pom.xml的文件
find -type f -name "pom\.xml"

查找类型为目录,文件名为pom.xml的目录
find -type d -name "pom\.xml"

;