linux命令学习笔记一

时间:2021-09-14 22:27:08

1.显示 1984-11-18 号是 1984 年的第几天

root@ubuntu:~# cal -j 18 11 1984
# -j Display Julian days (days one-based, numbered from January 1).显示儒略日(以1为基准计天数,从1月1日开始计数)

2.显示当前的年 / 月 / 日

root@ubuntu:~# date +%Y/%m/%d
#每个字母代表含义位:Y(year)m(month)d(day),注意参数最前面的 + 号以及每个缩略字母前的 % 号必须要有

3.设定用户名为student的普通用户在第一次成功登陆系统后强制改密码

root@ubuntu:~# passwd -e student #确保此操作权限不受限制(root only)

#-e, --expire 终止,期满
#Immediately expire an account's password. This in effect can force a user to change his/her password at the user's next login.立即使一个用户的账号密码过期,此命令可以强制一个用户在下次登录时修改自己的密码。

4.修改 student 的密码,把密码更新成 “T3st1ngtlme”( 主机字母和数字 )

root@ubuntu:~# passwd student <<end
T3st1ngtlme
T3st1ngtlme
end

5.显示当前系统时间,显示格式为: ” 小时 : 分钟 : 秒 AM/PM” ( AM/PM 为上下午标识)

root@ubuntu:~# date %r
#或者:date "+%T %p" #用引号的作用是为了命令统一执行

6.显示“ /usr/bin/clean-binary-files” 的文件类型

root@ubuntu:~# file /usr/bin/clean-binary-files
#结果:/usr/bin/clean-binary-files: POSIX shell script, ASCII text executable

7.统计“ /usr/bin/clean-binary-files” 的文件大小

root@ubuntu:~# wc -c /usr/bin/clean-binary-files
#结果:16886 /usr/bin/clean-binary-files

8.用快捷方式在 shell 中调用已经执行过的第 4 条命令

root@ubuntu:~# !4
#直接在终端中输入然后回车即可

9.用快捷方式执行最近一条含有 “date” 关键字的命令

root@ubuntu:~# ctrl + r + 关键字
#在终端中同时按下Ctrl 和 r,然后输入 date

linux命令学习笔记一

10.用一条命令建立 12 个文件 WESTOS_classX_linuxY(X 的数值范围为 1-2 , Y 的数值范围为 1-6),这些文件都包含在 root 用户桌面的 study 目录中

root@ubuntu:~# mkdir /root/Desktop/study
root@ubuntu:~# touch WESTOS_class{1..2}_linux{1..6}
#或者3.touch WESTOS_class{1,2}_linux{1..6}
#如果只是使用一条命令,则可以通过管道符实现:
root@ubuntu:~# mkdir /root/Desktop/study | touch /root/Desktop/study/WESTOS_class{1..2}_linux{1..6}

11.用一条命令建立 8 个文件 redhat_versionX ( x 的范围为 1-8 ),redhat_virsionX 这些文件都包含在 /tmp 目录中的 VERSION 中

root@ubuntu:~# mkdir -p /tmp/VERSION | touch /tmp/VERSION/redhat_versionX{1..8}

12.用一条命令把 redhat_versionX 中的带有奇数的文件复制到桌面的 /SINGLE 中

root@ubuntu:~# mkdir /root/Desktop/SINGLE | mv rehat_version{1,3,5,7} /root/Desktop/SINGLE

13.用一条命令把 redhat_versionX 中的带偶数数的文件复制到 /DOUBLE 中

root@ubuntu:~# mkdir /root/Desktop/DOUBLE | mv rehat_version{2,4,6,8} /root/Desktop/DOUBLE

14.用一条命令把 WESTOS_classX_linuxY 中 class1 的文件一动到当前用户桌面的 CLASS1 中

root@ubuntu:~# mv WESTOS_classX_linuxY/class1 ~/Desktop/CLASS1
#格式注意:mv+空格+源+空格+目的

15.用一条命令把 WESTOS_classX_linuxY 中 class2 的文件移动到当前用户桌面的 CLASS2 中

root@ubuntu:~# mv WESTOS_classX_linuxY/class2 ~/Desktop/CLASS1

16.备份 /etc 目录中所有带有名字带有数字并且以 .conf 结尾的文件到桌面上的 confdir 中,然后删掉刚才备份的所有文件

root@ubuntu:~# cp /etc/*[[:digit:]]*.conf ~/Desktop/confdir
root@ubuntu:~# rm -rf ~/Desktop/confdir
#正则匹配以及家目录知识点

17.显示当前时间 , 显示格式为 hh:mm:ss, 并保存到文件 time.txt文件中

root@ubuntu:~# date +%T >> time.txt
#重定向的知识

18.显示 /etc/passwd 文件的第 15-18 行内容

root@ubuntu:~# head -n 18 /etc/passwd | tail -n 4 
#管道过滤的知识,先取头部18行,然后在这个结果的基础上过滤取尾部四行就可以得到15-18行

19.显示 /bin 中文件包含大写字母的文件 , 保存到bin_westos_file.txt 文件中,并统计个数显示到屏幕

root@ubuntu:~# ls /bin/*[[:upper:]]* >>halo.txt | wc -w halo.txt
#正则、重定向、管道过滤、计数

(计数命令可以参考linux命令学习之 wc

如果想在一个脚本中逐条执行所有命令,那么可以这样写(简短示例)

创建一个名为com.sh的脚本文件,写入以下命令(关于如何写第一个shell脚本请参照 linux shell脚本编程之hello world ):

#!/bin/bash
date
read -p "press Enter continue" enter
date +%Y/%m/%d
read -p "press Enter continue" enter
wc -c '/usr/bin/find'
read -p "press Enter continue" enter

然后运行得到下面结果:
linux命令学习笔记一