Linux实验笔记——RHEL常用 Linux命令操作

  虚拟机:VMware

  系统:CentOS

项目一:

(1)启动计算机,利用root用户登录到系统,进入字符提示界面。

# su

(2)用pwd命令查看当前所在的目录。

# pwd

(3)用ls命令列出此目录下的文件和目录。

# ls

(4)用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。

# ls -a

(5)用man命令查看ls命令的使用手册。

# man ls

(6)在当前目录下,创建测试目录test。

# mkdir test

(7)利用ls命令列出文件和目录,确认test目录创建成功。

# ls

(8)进入test目录,利用pwd查看当前工作目录。

# cd test          // 切换到test目录
# pwd

(9)利用touch 命令,在当前目录创建一个新的空文件newfile。

# touch newfile

(10)利用cp命令复制系统文件/etc/profile到当前目录下。

# cp /etc/profile ./

(11)复制文件profile到一个新文件profile.bak,作为备份。

# cp profile profile.bak

(12)用ls -l命令以长格形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同。

# ls -l

(13)用 less 命令分屏查看文件 profile 的内容,注意练习 less 命令的各个子命令,如 b、p、q 等,并对then关键字查找。

   less 命令分屏查看文件 profile 的内容:

# less profile  // 退出less   --q或Q

  对then关键字查找:

直接在分屏中使用 /then 进行查找。

    

(14)用grep命令在profile文件中对关键字then进行查询,并与上面的结果比较。

# grep then profile

(15)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。

  建立软链接:ln -s 源文件或目录 目标文件或目录

# ln -s profile lnsprofile  

 建立硬链接:ln 源文件或目录 目标文件或目录(没有-s)

# ln profile lnhprofile

(16)长格形式显示文件profile、lnsprofile和lnhprofile的详细信息。注意比较3个文件链接数的不同。

# ls -l     //需要切换到文件所在目录

   或通过 ls -l + 文件名的方法:

# ls -l profile lnsprofile lnhprofile

(17)删除文件 profile,用长格形式显示文件 lnsprofile 和 lnhprofile 的详细信息,比较文件 lnhprofile 的链接数的变化。

   删除文件profile:

# rm profile
# ls -l lnsprofile lnhprofile

   显示结果如下:

   

   解释:

   软链接:仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效。

   硬链接:以文件副本的形式存在。因此可以将硬链接理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。

(18)用less命令查看文件lnsprofile的内容,看看有什么结果。

# less lnsprofile

   

    因为软链接仅包含了profile的文件路径,所以当删除profile文件后,lnsprofile失效。

(19)用less命令查看文件lnhprofile的内容,看看有什么结果。

# less lnhprofile

    因为硬链接已经建立了inode到数据区块的链接,所以profile原文件删除后仍可以可以查看到文件内容。

(20)删除文件lnsprofile,显示当前目录下的文件列表,回到上层目录。

# rm lnsprofile  //有提示:是否删除符号链接lnsprofile  输入y
# ls
# cd ..

(21)用tar命令把目录test打包。

  需要先用cd目录回到test所在目录。

# tar -cvf test.tar test

(22)用gzip命令把打好的包进行压缩。

# gzip test.tar

(23)把文件test.tar.gz改名为backup.tar.gz。

# mv test.tar.gz back.tar.gz

(24)显示当前目录下的文件和目录列表,确认重命名成功。

# ls

   test.tar.gz被back.tar.gz覆盖,所以只有back.tar.gz文件了。

(25)把文件backup.tar.gz移动到test目录下。

# mv backup.tar.gz test    //需要先到test所在目录

(26)显示当前目录下的文件和目录列表,确认移动成功。

# ls

(27)进入test目录,显示目录中的文件列表。

# cd test 
# ls

(28)把文件backup.tar.gz解包。

# tar -zxvf back.tar.gz -C ./   //解压到当前目录

 (29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。

# ls
# cp -r test testbak

(30)查找root用户自己主目录下的所有名为newfile的文件。

# cd ~     //回到主目录
# find -name newfile

   (31)删除test子目录下的所有文件。

# cd test
# rm -rf *   //一定要确认已在test目录

(32)利用rmdir 命令删除空子目录test。 回到上层目录,利用rm命令删除目录test和其下所有文件。

# cd ..   //回到上一级目录
# rmdir test

(33)find命令的使用。

 ① 在/var/lib目录下查找所有文件其所有者是games用户的文件。

# find /var/lib -user games

   因为没有所有者是games用户的文件,所以没有结果。

② 在/var 目录下查找所有文件其所有者是root用户的文件。

# find /var -user root

(34)grep命令的使用。

① 显示/etc/passwd文件中包含test用户信息,将结果保存到/tmp/test.info文件中。

# grep test /etc/passwd > /tmp/test.info

② 查找/etc目录下以init开头的文件,保存结果到/tmp/init.file;

# ls /etc|grep"^init">/tmp/init.file

任务二:

1、打开Vi编辑器。

# vi test.c

2、练习Vi编辑器的使用输入如下程序,并保存为test.c。

  vi编辑器使用事项:

  输入 i:进入编辑模式

  esc键:退出编辑模式

  在完成编辑后使用esc键退出编辑模式,然后输入:wq保存并退出vi编辑器。

  ( 若想不保存文件强制退出,输入:q!

3、利用“gcc –g  test.c -o test”命令,对test.c程序进行编译连接。

# gcc -g test.c .o test

4、运行应用程序,界面如下所示。

# ./test

   

基本命令相关详解:

ls

-a  列出目录下的所有文件,包括以 . 开头的隐含文件。

-l        除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。

使用 ls -l 可看到文件类型:

如上图,从第一个字符可看出文件类型:

文件类型:

-       文件(普通文件,图片,压缩包)

s      socket 本地进程与进程间的一种通信方式

b     black 块设备文件(硬盘,光盘,分区)

c      字符设备 用于提供用户的输入输出

l      链接文件 类似于Windows的快捷方式

d      directory 目录   类似于Windows的文件夹

grep

^……”          表示以……开头,

……$”          表示以……结尾

^$”                表示空行

find

-name: 按文件名称查找

-user  按文件属主查找

tar

-c         建立新的备份文件。

-f          <备份文件>或--file=<备份文件> 指定备份文件。

-v         显示指令执行过程。

-x        从备份文件中还原文件。

-C       <目的目录>或--directory=<目的目录> 切换到指定的目录。

.gz的后缀:

-z 或--gzip      通过gzip指令处理备份文件。

打包:

打包为.tar

# tar -cvf test.tar test               //将test文件压缩为test.tar,得到test.tar备份文件

打包为.tar.gz

tar -zcvf  test.tar.gz test           //得到test.tar.gz备份文件

解包:

解打包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf"。

如果使用 "-xvf" 选项,则会把包中的文件解压到当前目录下。如果想要指定解压位置,则需要使用 "-C(大写)" 选项。

tar -xvf test.tar -C /tmp             //将test.tar解压到/tmp目录下

tar -zxvf test.tar.gz -C /tmp      //将test.tar.gz解压到/tmp目录下


    抱着记录学习的目的,第一次发CSDN,对于格式有许多不了解,有不好的地方见谅。

    初学者,这次内容是Linux一些基础的命令,在实验中记录一下,有问题欢迎交流 ~


版权声明:本文为Yuey_0error原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。