更改文件权限,三个数字分别表示user/group/other,rwx是二进制数
chmod 744 ./filename
chmod u+w ./filename
Linux date
命令可以用来显示或设定系统的日期与时间。
date [OPTION]... [+FORMAT]
%% 输出字符 %
%a 星期几的缩写 (Sun..Sat)
%A 星期的完整名称(Sunday..Saturday)。
%b 缩写的月份名称(例如,Jan)
%B 完整的月份名称(例如,January)
%c 本地日期和时间(例如,Thu Mar 3 23:05:25 2005)
%C 世纪,和%Y类似,但是省略后两位(例如,20)
%d 日 (01..31)
%D 日期,等价于%m/%d/%y
%e 一月中的一天,格式使用空格填充,等价于%_d
%F 完整的日期;等价于 %Y-%m-%d
%g ISO 标准计数周的年份的最后两位数字
%G ISO 标准计数周的年份,通常只对%V有用
%h 等价于 %b
%H 小时 (00..23)
%I 小时 (01..12)
%j 一年中的第几天 (001..366)
%k 小时,使用空格填充 ( 0..23); 等价于 %_H
%l 小时, 使用空格填充 ( 1..12); 等价于 %_I
%m 月份 (01..12)
%M 分钟 (00..59)
%n 新的一行,换行符
%N 纳秒 (000000000..999999999)
%p 用于表示当地的AM或PM,如果未知则为空白
%P 类似 %p, 但是是小写的
%r 本地的 12 小时制时间(例如 11:11:04 PM)
%R 24 小时制 的小时与分钟; 等价于 %H:%M
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数
%S 秒 (00..60)
%t 插入水平制表符 tab
%T 时间; 等价于 %H:%M:%S
%u 一周中的一天 (1..7); 1 表示星期一
%U 一年中的第几周,周日作为一周的起始 (00..53)
%V ISO 标准计数周,该方法将周一作为一周的起始 (01..53)
%w 一周中的一天(0..6),0代表星期天
%W 一年中的第几周,周一作为一周的起始(00..53)
%x 本地的日期格式(例如,12/31/99)
%X 本地的日期格式(例如,23:13:48)
%y 年份后两位数字 (00..99)
%Y 年
%z +hhmm 格式的数值化时区格式(例如,-0400)
%:z +hh:mm 格式的数值化时区格式(例如,-04:00)
%::z +hh:mm:ss格式的数值化时区格式(例如,-04:00:00)
%:::z 数值化时区格式,相比上一个格式增加':'以显示必要的精度(例如,-04,+05:30)
%Z 时区缩写 (如 EDT)
date
# Tue May 24 09:29:43 CST 2022
date '+%c'
# Tue 24 May 2022 09:30:03 AM CST
date '+%D' //显示完整的时间
# 05/24/22
date '+%x' //显示数字日期
05/24/2022
date '+%T' //显示日期,年份用四位数表示
# 14:09:31
date '+%X' //显示24小时的格式
# 09:31:31 AM
date +"%Y-%m-%d"
# 2009-12-07
date -d "1 day ago" +"%Y-%m-%d"
# 2012-11-19
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
# 2012-11-20 14:21.31
date +%Y%m%d # 显示年月日
date -d "+1 day" +%Y%m%d # 显示后一天的日期
date -d "-1 day" +%Y%m%d # 显示前一天的日期
date -d "-1 month" +%Y%m%d # 显示上一月的日期
date -d "+1 month" +%Y%m%d # 显示下一月的日期
date -d "-1 year" +%Y%m%d # 显示前一年的日期
date -d "+1 year" +%Y%m%d # 显示下一年的日期
Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]
du -sh ./*
du -sh ./directoryName
Editor: Ring Lu
Last edited time: June 22, 2023 6:05 PM
Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。
grep [options] pattern [files]
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -
,则 grep 指令会从标准输入设备读取数据。
i
:忽略大小写进行匹配。v
:反向查找,只打印不匹配的行。n
:显示匹配行的行号。r
:递归查找子目录中的文件。l
:只打印匹配的文件名。c
:只打印匹配的行数。1、在文件 file.txt 中查找字符串 "hello",并打印匹配的行:
grep hello file.txt
2、在文件夹 dir 中递归查找所有文件中匹配正则表达式 "pattern" 的行,并打印匹配行所在的文件名和行号:
grep -r -n pattern dir/
3、在标准输入中查找字符串 "world",并只打印匹配的行数:
echo "hello world" | grep -c world
4、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
grep test *file
结果如下所示:
$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
5、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:
grep -r update /etc/acpi
输出结果如下:
$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”
#下包含“update”的文件
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)
Rather than
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.) Rather than
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
6、反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。
查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:
grep -v test *test*
结果如下所示:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行
testfile1:helLinux!
testfile1:Linis a free Unix-type operating system.
testfile1:Lin
testfile_1:HELLO LINUX!
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.
testfile_1:THIS IS A LINUX TESTFILE!
testfile_2:HELLO LINUX!
testfile_2:Linux is a free unix-type opterating system.
Linux kill 命令用于删除执行中的程序或工作。
kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>
-l <信息编号>
若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。-s <信息名称或编号>
指定要送出的信息。[程序]
[程序]
可以是程序的PID
或是PGID
,也可以是工作编号
。kill -l
命令列出所有可用信号。最常用的信号是:
1 (HUP)
重新加载进程。9 (KILL)
杀死一个进程。15 (TERM)
正常停止一个进程。kill -s -KILL 123456
kill -s -HUP pid
kill -s 9 123456
linux 的 kill
命令是向进程发送信号,kill
不是杀死的意思,-9
表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9
终止不了系统进程和守护进程的原因。
unrar x archive.rar # 解压到当前目录
unrar e archive.rar # 解压所有文件到当前目录
unrar l archive.rar # 列出RAR文件中的文件列表
以下是一些关于在 top
中按照CPU占用排序的相关信息:
打开 top
命令:在终端中输入 top
并按下回车键。
如果默认情况下没有按照CPU占用排序,你可以按 Shift + P
来按照CPU占用百分比降序排列,或按 P
来按照升序排列。
top
显示的进程列表会根据CPU占用进行动态更新,你可以观察占用CPU最多的进程。
若要退出 top
,你可以按下 q
键。
总的来说,在 top
中按照CPU占用排序是默认的行为,但如果需要手动切换排序方式,可以按 P
键。
在 top
命令中按照内存占用排序,你可以按照以下步骤进行:
打开 top
命令:在终端中输入 top
并按下回车键。
默认情况下,top
显示的进程列表是按照CPU占用百分比排序的。为了按照内存占用排序,你需要切换排序方式。
在 top
运行时,按下 Shift + M
,这将使 top
根据内存占用(RES列)降序排列。或者按 M
键按照升序排列。
top
显示的进程列表会根据内存占用进行动态更新,你可以观察占用内存最多的进程。
若要退出 top
,你可以按下 q
键。
在 top
命令的默认输出中,有很多列,每一列都提供了关于系统中运行的进程的不同方面的信息。以下是其中一些常见的列及其含义:
PR (Priority):
NI (Nice Value):
VIRT (Virtual Memory Size):
RES (Resident Set Size):
SHR (Shared Memory Size):
S (Status):
R
:正在运行S
:睡眠D
:不可中断的睡眠Z
:僵死T
:停止这些列提供了有关系统中运行的进程的详细信息,可以帮助你监视系统资源的使用情况。你可以在 top
中按 h
键查看帮助,以获取有关不同列的更多信息。
tar -czvf ./fileName.tar.gz ./fileName
tar -cvf ./fileName.tar ./fileName
# 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tar.gz
tar --exclude=abc/1.txt -zcvf abc.tar.gz abc
tar -xzvf ./fileName.tar.gz
tar -xvf ./fileName.tar
# 查看备份文件中的文件
tar -tf test.tar # 只是列出文件
tar -tvf test.tar # 列出文件,包括文件信息
# 删除备份文件中的指定文件
tar -vf test.tar --delete ./a.txt
这将提示你输入一个密码,用于加密 archive.tar.gz
文件。加密后的文件将被命名为 archive.tar.gz.gpg
。
gpg --symmetric --cipher-algo AES256 archive.tar.gz
这将提示你输入加密时使用的密码,并将解密后的内容保存为 archive.tar.gz
gpg --decrypt archive.tar.gz.gpg > archive.tar.gz
printf format-string [arguments...]
**printf**
中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo
自动添加换行符,我们可以手动添加 \n
。%s %c %d %f**
都是格式替代符,%s**
输出一个字符串,%d**
整型输出,%c
** 输出一个字符,%f
输出实数,以小数形式输出。%-10s**
指一个宽度为 10 个字符(-**
表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。%-4.2f**
指格式化为小数,其中 .2
指保留2位小数。序列 | 说明 |
---|---|
\a | 警告字符,通常为ASCII的BEL字符 |
\b | 后退 |
\c | 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 |
\f | 换页(formfeed) |
\n | 换行 |
\r | 回车(Carriage return) |
\t | 水平制表符 |
\v | 垂直制表符 |
\\ | 一个字面上的反斜杠字符 |
\ddd | 表示1到3位数八进制值的字符。仅在格式字符串中有效 |
\0ddd | 表示1到3位的八进制值字 |
vncserver –geometry 1920x1014 :33
vncserver -kill :33