linux日常学习-1

1.【终端】查看当前终端:tty

2.查看【当前使用的shell】:echo ${SHELL}

3.自己设置【主机名】:hostname NAME(主机名不要使用下划线)

4.区分【内外部命令】:type command

5.查看【内部命令】:enable 或 help

6.查看【外部命令】:whereis 或者which -a

7.【命令别名】:alias NAME=‘VALUE’,查看alias,撤销unalias NAME

永久有效的一般设置在.bashrc下 或 /etc/bashrc;

如未生效,进程需【重新读取配置文件】:source /path/to/config_file

别名、原命令一致,需执行原命令:“ALIASNAME”

8.查看【用户id】:id -u root

9.查看【硬件信息】:

cpu(lscpu 或 cat /proc/cpuinfo)

内存(free 或 cat /pro/meminfo)

硬盘和分区情况(lsblk 或 cat /proc/partitions 或 blocks name)

10.查看【版本信息】:

查看内核版本:uname; 查看操作系统发行版本:cat /etc/*release* 或 lsb_release -a

11.查看【时间】:echo `date +%F_%T` 或 echo $(date +%F)  或 echo $(date +%Y-%m-%d)

前一天:echo `date -d "1 day" +%F+%T`         后一年: echo $(date -d "1 year" +%F_%T)

12.展示文件夹的属性(也叫元数据metadate) 和 内容(也叫数据date):ll /bin /usr/sbin -d

13.切换到以前的工作目录:cd -         ;查看以前的工作目录:echo $OLDPWD

14.查看文件状态:stat  /etc/passwd

access time 访问时间,atime 读取文件内容

modify time 修改时间,mtime 改变文件内容(数据)

change time 改变时间,ctime  元数据发生改变

15.windows文本格式文件 转 Linux文本格式文件:方法1:复制到vi以后的脚本里;方法2:用dos2unix

(wndows文件结尾/r/n表示回车换行,liunx文件/n表示回车换行;  用cat -v test.sh可以看到文件中的非打印字符^M((\r的十六进制为0D,对应的控制符为^M)),vi看不到。)

(1)安装转换工具:yum -y install dos2unix

(2)将windows文本格式 转 liunx文本格式:dos2unix win.txt;二次检查:file win.txt

(3)将liunx文本格式 转 windows文本格式:unix2dos win.txt;二次检查:file win.txt(with CLRF lin terminators)

16.转换文件字符集编码:windows10上文本默认编码ANSI(GB2312),默认无法在liunx正常显示,查看方式:file windows.txt(ISO-8859 text,with no line terminators)

(1)将windows10上文本默认编码ANSI(GB2312)转换成UTF-8,并将windows文本格式换成liunx文本格式:

iconv -f gb2312 windows.txt -o windows1.txt

dos2unix windows.txt

(2)将UTF-8转换成windows10上文本默认编码ANSI(GB2312):

iconv -f utf8 -t gb2312 windows.txt -o windows11.txt

17.创建规律文件 touch file{a..z}.txt file{A..Z}.txt file{0..9}.txt

全文件名查找:ls file[a-c].txt        全文件名模糊查找:ls *[A-D].txt

匹配列表内的任意字符:ls file[wang].txt        匹配列表内所有字符以外的字符:ls file[^wang].txt

18.复制folder文件夹下的内容到新目录new_folder:cp -r folder new_folder(有重复文件(非文件夹)会提示是否覆盖)

19.只复制更新目标 或 不存在的文件:cp -r -u a/* b/a/(直接跳过重复文件,不需要手动确认(非文件夹))

20.除复制文件的内容外,还把修改时间和访问权限也复制到新文件中:cp -p a.txt a1.txt

21.每天复制文件,不更新时间戳到指定目录:cp -av a b/backup`date +%F`  (v表示打印详情,a常用于备份)

看新增文件 ls -ltR 文件名

22.删除多个文件:rm -f a.txt b.txt        删除一个文件rm -f c.txt

23:删除目录及下边的子目录和文件:rm -rf a

24.批量修改文件名:例1:rename 'file' 'file_date' f*     例2:rename 'txt' 'txt.bak' f*

25.通配符:touch file{0..9}.txt   查找:ls file[1-3].txt  模糊查找:ls *[1-3].txt

匹配列表中任意一个字符:ls file[wang].txt   ;匹配列表中所有字符以外的字符:ls file[^wang].txt

【通配符】

26.查找当前目录下所有的文件夹:方法一:find ./ -type d          方法二:ls -d /etc/*/  (记得*后加/)

27.创建一个文件,如果目录不存在则创建,有直接创建目录:

方法一(直接写):mkdir -p a/b/c ; touch a.txt(将 ; 换成&&也行)

方法二(写参数):dir=a/b/c ; mkdir -p $dir ; touch $dir/a.txt

28.在一个目录下,同时创建多个文件夹:mkdir -p {hello,word)

29.递归查找含大写字母F的:find ./ -name *F\*        (其中F\,表示F)

30.展示目录:tree 参数(-d:只展示目录;-L 数字:展示到第几层目录;-P:展示哪层目录)

注:如果找不到 tree 命令,请提前安装yum install tree -y

31.直接查看a文件空间使用率 df a;查看a文件的inode信息(索引(文件元数据和节点信息))而非块(实际存放在硬盘上的位置)使用信息 df -i a

32.清空大文件内容:cat /dev/null > a/b/a.txt

33.数据库对查询结果进行排序:row number()over(order by **)

根据id进行分组:row number()over(partition by id order by **)

34.元数据(meta data):每个文件的属性信息,如文件大小、时间、类型等,称为文件的元数据。

35.节点表(node表):元数据是存放在node(index node)表中。node表中有很多条记录组成。【第一条记录】存放了一个文件的元数据信息。

36.目录:目录文件保存了此目录中文件列表及inode number的对应关系(文件引用一个inode号;一个目录是 目录下文件名 和 文件inode号 之间的映射)

37.cp命令和inode:分配空闲的inode号;在目录中生成一个目录项,将名称与inode编号关联;copy数据生产新文件;

38.rm命令和inode:链接数递减,从而释放inode号可以被重用;把数据块放在空闲列表中;删除目录项;数据实际上不会被马上删除,但当另一个文件使用数据块时将被覆盖

39.mv命令和inode:

mv命令的目标和源在相同的文件系统:用新的文件名创建新的目录项;删除旧目录条目对应的旧文件;不影响inode表(除时间戳)或磁盘上数据的位置,没有数据被移动!

mv命令的目标和源在不同的文件系统,mv相当于cp和rm:

40.硬链接:本质上是给一个文件起一个新名称,实际是同一个文件

定义硬链接:ln filename [linkname]

41.软链接:一个符号链接指向另一个文件,就像windows中的快捷方式,软链接文件本质上不是同一个文件(注:软链接如果使用相对路径,是相对于原文件的路径,而非当前目录)

定义软连接:ln -s filename [linkname]

绝对路径:ln -s /data/dir /data/dirlink

相对路径:cd /data

ln -s ../data/dir /root/dirlink

rm -rf /data/dirlink   #删除软链接本身,不会删除源目录内容

rm -rf /data/dirlink/  #删除源目录的文件,不会删除链接文件

查看链接文件指向的原文件:readlink /data/dirlink

区别本质跨设备inode链接数文件夹相对路径删除源文件文件类型
硬链接同一个文件不支持相同创建,链接数增加;删除,链接数减少不支持原始文件相对路径是当前目录链接数减一,但链接文件访问不受影响和源文件相同
软链接不是同一个文件支持不同创建、删除,链接数不变支持原始文件相对路径是相对于链接文件的相对的路径链接文件无法访问链接文件,和源文件无关

软链接示例:lrwxrwxrwx. 1 root root    5 3月   9 17:27 ruan.txt -> a.txt

42.问题一:提示空间满 on space left on device 但df能看到很多空间

df -h,查看磁盘使用情况

df -i,查看inode使用情况

inode用光了:小文件占用较多的inode,创建文件或目录创建一个inode,通常这些小文件是定时任务引起的,删除时,要特别注意

步骤一:查看大文件还被哪些进程占用:lsof|grep delete (或者grep 文件的路径)  

rsyslogd 

步骤二:重启对应的服务:/etc/init.d/

插入知识:

【1】修改tomcat的端口:~/tomcat/conf/server.xml

【2】tomcat内存溢出问题

内存模式:堆内存(存储类的实例、数组的引用类型,用new生成的内存)、栈内存(存储局部变量:方法、参数)、静态内存区(存储常量、类的元数据(方法、属性))

OutOfMemoryError:Java heap space异常:堆内存满了,如果不是程序逻辑的问题, 可能因为项目引用的JAVA比较多,导致堆内存溢出,JVM默认堆内存最小为物理内存的1/64,最大为1/4(例:物理内存为8G,JVM默认最大内存:128M;最小内存:2048M;可以通过调整虚拟机初始内存、最大内存可加大使用限制)

OutOfMemoryError:PermGen space异常:静态内存区满了,通常是加载的类太多导致的,JDK8以下版本需要通过修改2个参数,限制静态区域最大、最小内存范围;JDK8以后的版本不会存在这种异常问题

StackOverflowError异常:栈内存溢出,由于死循环、或无限递归导致的

一般在~/tomcat/bin/catlina.sh里边进行配置第二行:JAVA_OPTS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>