Linux学习(未完待续。。。)

安装好ubuntu 并且注册用户成功后,给root设置密码

sudo passwd root

先输入自己的密码,然后输入root的密码,再确认
密码都是不可见的,不是键盘坏了


显示日期格式

date +%Y-%m-%d\ %H:%M:%S

m - month
M - minute


在/tmp/下新建目录test ,并指定权限664

mkdir -m 664 tmp/test

mkdir -m 创建文件夹的同时指定权限


显示环境变量path,但将/root加入到$PATH中

echo $PATH
export PATH=$PATH:/root

echo 打印


用cat显示/etc/passwd,并打印出行号

cat -n /etc/passwd

显示/etc/passwd文件中的5-10行

head -n 10 /etc/passwd|tail -n 5

head -n x 显示开头前x行
tail -n x 显示末尾后n行

显示开头前10行的后5行


显示出/home/目录下所有文件的ctime时间

ls -lc /home/

ctime - 文件属性或权限状态修改的时间
发生在使用chmod、chown命令时


显示出/home /目录下所有文件的atime时间

ls -lu /home/

atime - 内容被访问的最后时间


显示出/home /目录下所有文件的mtime时间

ls -l /home/

mtime - 内容修改时间


查找/home /目录下一天前新增的目录或文件

find /home/ -ctime 1

查找/etc/目录下二十四小时更动过的目录或文件

find /etc -mtime 1

普通用户好像会被拒绝?


查找/etc/目录下比/etc/passwd日期新的文件或目录

find /etc -newer /etc/passwd

查找/home目录下所有test用户的文件或目录

find /home -user test

查找/home下档案属性为f的文件

find /home -type f

查找/目录下所有的特殊位文件



查找/目录下所有的特殊位文件,并显示详细信息



查找/目录下所有大于2M的文件

find / -size +2M

查询/etc目录下一个小时之前更改的文件,不包括目录

find /etc/* -cmin +60

-cmin n : 在过去 n 分钟内被修改过


copy文件/etc/passwd到/tmp目录下,保持时间戳

cp /etc/passwd /tmp

查看/tmp/目录的使用空间

df /tmp

df - 显示目前在 Linux 系统上的文件系统磁盘使用情况统计


设置linux一分钟后关机

shutdown -h 1

shutdown -h x:x分钟后关机
普通用户操作不了,需要root权限


设置linux一分钟后重启动

shutdown -r 1

-r : 关机后重新开机


进入/home目录,使用pwd显示当前目录

cd /home
pwd

cd - 切换目录
pwd - 显示工作目录


在/ 下建立目录worker,在worker下建立目录host01,host02,在host01下建立目录h01,h02

mkdir worker
mkdir worker/host01 worker/host02
mkdir worker/host01/h01 worker/host01/h02

删除host01下的h01目录,若host01目录为空,则删除host01

rmdir -p host01/h01

rmdir - 删除空的目录
-p :当子目录被删除后使它也成为空目录的话,则顺便一并删除


在host02下建立文件baby.txt

vi host02/baby.txt

然后发现进入vim文本编辑界面
先按下i,切换到编辑模式(据说进入编辑模式,界面底部会有些不同,但是我这没啥变化),随便输点什么,
然后按esc,切换到命令模式,输入:wq,就能保存文件并退出vim回到cmd了


长格式显示/etc下的文件

ls -l /etc

-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出


将/etc/yp.conf复制到/worker/host02中,提示用户是否覆盖

cp -i /etc/yp.conf /worker/host02

-i :在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖


复制/etc/yp.conf复制到/worker/host02中改名为tt20912.conf

cp /etc/yp.conf /worker/host02/tt20912.conf

将/mnt下的所有文件及目录复制到/worker/host02下

cp -r /mnt /worker/host02

在worker下建立目录host03,将host02中的所有文件移到host03下,如文件存在不给出任何覆盖提示

mkdir worker/host03
cp -f worker/host02 worker/host03

将host03下的所有文件删除,用户需对删除的文件进行确认

rm -r -i host03

rm - 用于删除一个文件或者目录
-r 将目录及以下之档案亦逐一删除
-i 删除前逐一询问确认


删除host03下的所有目录

rm -r host03

尝试给/worker/host02/yp.conf建立一个硬链接到/man.hard

ln /worker/host02/yp.conf /man.hard

硬链接:
1.硬链接,以文件副本的形式存在,但不占用实际空间
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建


尝试给/worker/host02/yp.conf建立一个软链接到/soft.soft

ln -s /worker/host02/yp.conf /soft.hard

-s 软链接(符号链接)

软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接


在/下建立目录test20912,在test20912建立文件1.txt和2.txt,分别在文件1.txt和2.txt中输入“I am chinese”,“are you ok?”用cat命令查看其中的内容,将1.txt和2.txt中的内容合并到3.txt并加上行号

mkdir test20912
touch test20912/1.txt test20912/2.txt
echo i am chinese >> 1.txt
echo are you ok? >> 2.txt
cat 1.txt 2.txt
cat -n 1.txt 2.txt > 3.txt

touch - 创建文件

echo 内容 >>/> 文件 - 往文件末尾追加/覆盖内容

cat - 输出文件内容
-n :由1开始对所有输出的行数编号


从第5行起显示/worker/host02/yp.conf



显示 /worker/host02/yp.conf前五行内容

head -n 5 /worker/host02/yp.conf

显示/worker/host02/yp.conf后五行内容

tail -n 5 /worker/host02/yp.conf

在/dev下查找所有以“cu”开头的文件

find /dev -name cu\*

在worker下建立文件file.txt,在file.txt中输入
1001 A CCC1957 AUX 58.00 LVX2A 138
1002 B CCC1956 AUX 45.00 LVX2C 289
1058 C CCC1988 AUX 63.00 KVM9D 234
2058 D CCC1979 PCB 73.00 PLC2C 68
4080 E CCC1929 PCB 79.00 PLV2C 512
5800 F CCC1988 USP 77.00 KCM9D 234
5008 G CCC1987 USP 96.00 KVM9E 644
(vim里面贴贴就行了)

然后完成

1 含有“58”字符串的行的总数

grep -c -e 58 file.txt

grep 命令用于查找文件里符合条件的字符串
-c 计算符合样式的列数
-e 指定字符串做为查找文件内容的样式

2 显示含有“58”字符串的所有行的行号

grep -n 58 file.txt

3 精确匹配只含有“408”字符串的行

grep -w 408 file.txt

4 查找代码为1001和1002的城市
??啥玩意?


5 显示使行首不是4或5

 grep -E ^[^'4|5'] file.txt

-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用

6 显示含有A的行

 grep -n -e A file.txt

7 显示以K开头,以D结尾的所有代码


8 显示头两个是大写字母,中间两个任意,并以C结尾的代码


9 查询所有以1开始以8或9结尾的所有记录


10在file.txt中搜索“PLC2C”


11 对file.txt按数值排序


12统计file.txt中的行数、单词数、字符数



在/下建立目录think,把/etc/inittab文件复制到/think下

cp /etc/inittab /think/

原先不存在的文件会自动建立


查看inittab文件第5行内容并记录

sed -n 5p inittab

sed -n xp : 显示第x行的内容

ps:记录在哪儿????


在think下新建文件mod.c,往里面输入内容并保存退出
#include void main( ){ int i; float s;
scanf(“%d”,&i); s=i*i+20;
printf(“%d”,s); }

vi think/mod.c

先按i进入编辑模式
然后复制上面要求的代码
再按esc,输入:wq保存退出vim


打开mod.c,显示所有内容的行号

vi mod.c
:set nu

将光标直接定位到i*i,考虑如何关掉行号

:set nonu

光标定位。。。文本太短了直接点。。。


将 /etc/man.config 复制到/think下

cp /etc/man.config /think/

使用 vi 打开/think/man.config,光标移动到第一行,并且向下搜寻一下“teTeX”这个字符串,若存在,请问在第几行?

vi /think/man.config

光标移动到第一行第一个 -> 按两次 g

etc里没有man.config,这测试就让人有点头大

编辑模式下输入

:set nu
/teTeX

肉眼看行号 :)

/内容 - 从光标位置开始往后找第一个符合内容的位置


将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改

后面那个是否需要修改的要求暂时还不会

sed -n 50,100p /think/man.config | sed 's/man/MAN/g'

这怎么不说文件的啊……先全部假设是前面那一题的/think/man.config文件

sed 's/原字符串/新字符串/g'
用新字符串替换所有原字符串

如果不加g,就是只替换第一个


若修改完之后,要全部复原,如何操作?

没有备份就没希望


复制 51 到 60 行这十行的内容,粘贴到最后一行之后

sed -n 51,60p /think/man.config >> /think/man.config

删除 11 到 30 行之间的 20 行

sed 11,30d /think/man.config

d就是删除


将think/man.config另存为 man.test.config

cp think/man.config man.test.config

选中所有空行,然后删除它们

sed '/^\s*$/d' /think/man.config > /think/man.config

中间是正则表达式,不过看不懂。。。


该文件有多少行与多少字符?

wc /think/man.config

wc将计算指定文件的行数、字数,以及字节数


删除包含MAN的行,保存文件

sed '/MAN/d' /think/man.config > /think/man.config

建立用户win1,UID、GID等均按默认

useradd win1

新建用户win2,默认主目录为/think,其余默认

useradd -d /think win2

-d<登入目录>  指定用户登入时的起始目录


将win2用户名改为tin,UID改为700,密码改为1330855

usermod -l tin -u 700 win2
passwd tin

-l<帐号名称>  修改用户帐号名称
-u<uid>  修改用户ID


连同主目录一起删除tin用户

userdel -r tin

userdel - 用于删除用户帐号
-r  删除用户登入目录以及目录中所有文件


创建一个名为goup的用户组,GID为5000

groupadd -g 5000 goup

-g GID 指定新用户组的组标识号(GID)


试将win1添加到goup中,明文查看win1所属组

usermod -a -g goup win1

-g<群组>  修改用户所属的群组
-a 添加到其他用户组而不离开原来的用户组


在/think/下建立文件book.txt,将文件所属用户变为win1,对于book.txt,给属组用户添加写权限,取消其他用户的读写权限

chown win1 book.txt
chmod 211 book.txt

chown - 用于设置文件所有者和文件关联组的命令
chmod - 控制用户对文件的权限的命令
权限操作对应的数字 请看 -> 菜鸟教程 Linux chmod命令

可以用stat book.txt查看是否修改成功


修改book.txt的权限为属组可读可写,同组可读,其他用户不可读不可写,用数字设置

chmod 661 book.txt

对于给所有人book.txt读取权限

chmod a+r book.txt

a - 所有用户
+ - 追加
r - 读取权限


将 /etc/man.config 复制到/think下,将/think/man.config压缩为good.tar ,在/think/下新建文件bad.conf,将man.config、bad.conf同时压缩为ftpp.tar

cp /etc/man.config /think
tar -czvf good.tar man.config
touch /think/bad.conf
tar -czvf ftpp.tar manpath.config bad.conf

tar - 用于备份文件
tar -czvf :压缩
tar -xzvf : 解压


用gzip对ftpp.tar进行解压,用tar命令将think下的所有文件打包为lost.tar.gz并显示压缩进度

gzip -dv ftpp.tar
tar -czvf lost.tar.gz --checkpoint /think/

gzip -dv :解压
–checkpoint 读取备份文件时列出目录名称(也就是显示压缩进度)


将压缩文件lost.tar.gz中的top.txt删除

gzip  book.txt lost.tar.gz
tar --delete ./top.txt -vf lost.tar

先解压lost.tar.gz去掉后面的.gz后缀名,否则会报错
然后用tar --file lost.tar --list查看top.txt再文件里的路径名,
再用 tar --delete [要删掉的文件] -vf [包名] 删掉目标文件


显示系统中所有进程

ps

ps - 用于显示当前进程的状态,类似于 windows 的任务管理器


显示你所用机器CPU的利用率,内存利用情况,10秒刷新一次

top -d 10

top命令用于实时显示 process 的动态

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体(内存)使用率

top -d x : x秒刷新一次


设置系统在2分钟后自己建立目录/baby,在/baby中建立文件ppstream.sys,并将ppstream.sys压缩为pp.tar



设置你的系统在5分钟后打开vi编辑器




查看你的系统内存和磁盘空间的使用情况、统计分区的使用情况

df

df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计


挂载你的U盘,实现linux中访问U盘中的内容,写出完整过程


mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件


挂载光驱,将C:\虚拟机等\shrike-i386-disc1.iso挂入光驱中,实现linux对shrike-i386-disc1.iso中文件的访问,写出完整的挂载过程



查询你的机器中是否安装samba、vsftpd、FTP等软件包



配置你的linux实现,linux访问internet,写出详细的配置过程



©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页