linux文件锁定
‘壹’ linux下文件已被其他进程锁定怎么解决
ps -ef|egrep 文件名
kill -9 那个占用此文件的进程
‘贰’ Linux文件相关命令
grep命令:
grep命令是非常重要的命令,可以对文本进行查找和搜索
常用参数如下:
常用实例:
1、在多个文件中查找:
grep "file" file_1 file_2 file_3
2、输出除之外的所有行 -v 选项:
grep -v "file" file_name
3、标记匹配颜色 --color=auto 选项:
grep "file" file_name --color=auto
4、使用正则表达式 -E 选项:
grep -E "[1-9]+"
egrep "[1-9]+"
5、只输出文件中匹配到的部分 -o 选项:
echo this is a test line. | grep -o -E "[a-z]+."
line.
echo this is a test line. | egrep -o "[a-z]+."
line.
6、统计文件或者文本中包含匹配字符串的行数-c 选项:
grep -c "text" file_name
2
7、输出包含匹配字符串的行数 -n 选项:
grep "text" -n file_name
或
cat file_name | grep "text" -n
8、多个文件
grep "text" -n file_1 file_2
9、搜索多个文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
10、grep递归搜索文件
在多级目录中对文本进行递归搜索:
grep "text" . -r -n
11、忽略匹配样式中的字符大小写:
echo "hello world" | grep -i "HELLO"
hello
12、选项 -e 指定多个匹配样式:
echo this is a text line | grep -e "is" -e "line" -o
is
line
13、也可以使用 -f 选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索结果中包括或者排除指定文件:
只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep "main()" . -r --include *.{php,html}
15、在搜索结果中排除所有README文件
grep "main()" . -r --exclude "README"
16、在搜索结果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
touch abc.txt 创建一个名为abc.txt的文件
touch -r 指定文件时间与参考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件为指定的时间
touch temp 创建一个名为temp的文件
vi编辑器有三种模式,命令行模式、编辑模式、底行模式。
vi 文件名进入命令行模式,Insert进入编辑模式,编辑完成Esc退出编辑模式,:wq进入底行模式并保存修改,:q直接退出保存。
tar命令用于打包压缩文件,常用的压缩命令还有bzip2,gzip
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
which命令用于用户查找命令所有路径
命令格式
file命令用于获取文件属性
命令格式
file 文件名或目录名
命令示例:
使用说明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 从第一个字节开始正向查看文件的内容
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
使用示例
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容
cat /dev/null > /etc/test.txt
tac [filename]
从最后一行开始反向查看一个文件的内容,ac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
nl [-bnw] 文件
选项与参数:
-b: 指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
more file1 查看一个长文件的内容,支持一页一页翻动
运行的时候,支持以下几个按键:
空白键 (space):代表向下翻一页;
Enter :代表向下翻‘一行’;
/字串 :代表在这个显示的内容当中,向下搜寻‘字串’这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻‘字串’的功能;
?字串 :向上搜寻‘字串’的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
head [-n number]
head -2 file1 查看一个文件的前两行
tail [-n number]
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
文件权限列中三位为一组,分别代表相关的用户、组、其它用户的权限
权限列中三位为一组,分别代表相关的用户、组、其它用户的权限
所以修改权限可以分别修改或一同修改,系统中权限分为数字权限与字符权限
数字权限:r=4,w=2,x=1
字符权限:+ 增加 -去除 a取消所有加上给定的
修改权限的命令chmod,命令格式:
chmod 权限 文件名或目录名 修改权限格式
chmod -R 权限 目录名 递归将目录及其下面所有内容权限全部修改
chown 改变文件或目录的属主(所有者)
chown 用户名 文件名或目录名
chown 用户名.组名 文件名或目录名
修改所属组也可用chgrp 命令来完成
当你用ls -l 查看到文件的属主、属组为数字时,就表明该文件的创建用户已被删除。
文件的特殊权限
chattr +i(-i) 文件名 锁定文件(取消锁定)不可删除与清空
chattr +a(-a) 文件名 添加内容(只可添加内容)
使用lsattr 文件名 查看文件的特殊权限
由此可以看出
root用户默认创建的目录权限是755,文件权限是644
普通用户默认创建的目录权限是775,文件权限是664
这也是系统默认的比较安全的权限分配,其实这些默认权限全部都是由umask值来决定的
系统规定了
文件的权限值是从666开始计算(默认权限=权限值-umask值)
目录的权限值是从777开始计算(默认权限=权限值-umask值)
文件1的权限=444 (666-232=434——43(3+1)4)
‘叁’ linux 文件加密
linux文件加密需要分五步进行,下面是具体介绍:1、进入linux系统,打开待加密文件;
2、进入命令模式,输入大写字母X;
3、点击回车输入密码;
4、命令模式输入w,、回车确定;
5、打开文件vibase.sh,即可加密成功。
以上就是今天的分享了,希望可以帮助到大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
‘肆’ Linux系统优化的12个步骤是什么
Linux系统优化的12个步骤:
1、登录系统。
2、禁止SSH远程。
3、时间同步。
4、配置yum更新源。
5、关闭selinux及iptables。
6、调整文件描述符数量。
7、定时自动清理/var/spool/clientmquene/目录垃圾文件。
8、精简开机启动服务。
9、Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。
10、更改字符集,防止乱码问题出现。
11、锁定关键系统文件。
12、清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。
‘伍’ linux锁定文件
你用chmod 000 文件 试试, 让文件没有任何权限
‘陆’ Linux chattr 锁定文件命令,导致文件root用户都不能写入问题
chattr 命令更改文件权限,比chmod 更强大,+ 移除某个权限 - 删除某个权限 ,对于某些文件不想被修改,可使用此命令,来禁止
chattr 有一些参数,简单看下
假如 你在输入 chattr -i /root/.ssh/authorized_keys 的时候提示你没有chattr 这个命令,这个时候你需要安装此命令,具体操作如下:
即可解除此文件 不能写入的问题
‘柒’ 操作系统,linux中 lockf(1,1,0);和 lockf(1,0,0); 是什么作用
ockf(fd,1,0)是给fd文件上锁,lockf(fd,0,0)是解锁,配合使用,实现进程的互斥。
头文件
#include <sys/file.h>
函数:
int lockf(int fd, int cmd, off_t len);
fd -- 文件id.
fcntl(2)的接口(inteface)函数
返回1表示调用lockf成功.
lockf用于锁定或打开锁定一个共享文件.
操作有:
F_LOCK(锁定),F_TLOCK,F_ULOCK(打开锁定),F_TEST
(7)linux文件锁定扩展阅读:
注意事项
lockf()函数允许将文件区域用作信号量(监视锁),或用于控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休眠状态,直到资源解除锁定为止。当关闭文件时,将释放进程的所有锁定,即使进程仍然有打开的文件。当进程终止时,将释放进程保留的所有锁定。
函数声明:
/* 'lockf' is a simpler interface to the locking facilities of 'fcntl'. LEN is always relative to the current file position. The CMD argument is one of the following. This function is a cancellation point and therefore not marked with __THROW. */
#include <unistd.h>
int lockf(int fd, int cmd, off_t len);
‘捌’ Linux关于文件的权限笔记
1、调整文件的权限命令:chmod
Linux的每个文件都定义了文件的拥有者:u(user)、拥有组:g(group)、其他人:o(others)权限,对应的权限用rwx的组合来定义。使用chmod命令,增加权限用+,删除权限用-,某个文件详细的权限用=号。
比如:
chmod u+r filename #给某文件增加读的权限
chmod u-r filename #给某文件删除读的权限
chmod u+w filename #给某文件增加写的权限
chmod u-w filename #给某文件删除写的权限
chmod u+x filename #给某文件增可执行的权限
chmod u-x filename #给某文件删除可执行的权限
chmod u+rwx filename #给某文件增加读写可执行的权限
chmod u=rwx filename #给某文件设定读写可执行的权限
通过这种方式可以同一时刻给文件拥有者、文件拥有组、或其他用户设置权限,如果想要同时设置所有用户的权限就要使用数字表示的方式了,Linux规定 r=4,w=2,x=1。比如权限rwx:7,r-x:5。如果想设置一个文件拥有者有读、写、执行,拥有组的权限是读、执行、其他人只读的话,可以使用命令:chmod 745 filename 进行设置。chmod -R 745 dirname #用来看设置目录权限 必须加 -R参数。
2、改变文件的拥有者命令:chown
比如:chown user1 hello.txt
#将hello.txt 文件拥有者修改为 user1, 前提user1 为系统中拥有的用户
chown :user1 hello.txt
#将hello.txt 文件拥有者修改为 user1组, 前提user1 为系统中拥有的用户组
chown user1:user1 hello.txt
#相当于执行了上面两条命令
chown user1:user1 dirname
#修改目录的文件拥有者和用户组 需要加 -R参数
3、修改文件的拥有组命令:chgrp
比如:
chgrp user1 hello.txt
#将hello.txt 文件用户组修改为 user1
chgrp user1 dirname
#将dirname 目录用户组修改为 user1,需要加 -R参数
觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨。
‘玖’ linux里的文件夹上有个锁头的图标,表示什么
Linux中带锁的文件夹图标表示没有权限访问该文件夹。取消linux文件上面的小锁头方法:
1、首先点击任务栏上面的≥,或者是在桌面空白处不要点击任何软件。