Linux基础的复习

Linux基础的复习

  • Linux操作系统诞生于1991 年8月
  • Ubuntu每六个月(即每年的四月与十月)发布一个新版本,长期支持(LTS)版本每两年发布一次。普通版本一般只支持9个月,但LTS版本一般能提供5年的支持。😅
  • 在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1

Linux的基本目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ziXgVcDR-1681023086405)(null)]

目录用途
binbin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令
boot这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
devdev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
etcetc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
liblib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
sbins 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
usr/bin系统用户使用的应用程序
usr/src内核源代码默认的放置目录
#Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this) 
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
命令功能
init 0关机
init 1单用户
init 2多用户(不联网)
init 3多用户
init 4不使用的
init 5有界面的xwindows
init 6重启
  1. 加行号显示 /etc/passwd 文件。

cat -n

  1. 用more、less命令, 显示 /etc/passwd 文件内容,比较命令的不同(哪个命令可以加行号?)。

less可以显示行号
less -N

  1. 显示/etc/sudoers文件的前15行,显示/etc/sudoers文件的后5行。

head -15
tail -5

  1. 把刚建的text1文件移动到刚建立的abc子目录下,并改名为text3,同时把text2文件复制到xh子目录中;
sudo mv text1  ../ah/abc/text3
# mv 源文件 改名后的文件名
  1. 在工作目录中建work子目录,在work下建立子三个目录abc1、abc2、abc3;并在work目录中查找普通文件、目录文件、链接文件
mkdir -p work/abc;
cd work
mkdir -p abc/{abc1,abc2,abc3}
find ./work -type f; find ./work -type d; find ./work -type l

文件权限等级

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
文件调用权限.png
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
chmod绝对模式.png

在工作目录下,新建一个文件myfile。用字符或数字方式写出指令。
1)增加所属组用户增加写权限,给其他用户增加读权限。
2)撤销所属组和其他用户对该文件的读权限
3)对所有用户设置只有读和执行权限。

touch myfile
chmod g+w,o+r myfile;
chmod a-r myfile;
chmod 555 myfile

用符号模式更改dir2目录和目录里的文件的权限为所有者具有全权,同组人具有读和写的权限,其他人只有执行的权限。

chmod u=rwx,g=rw,o=x dir2

  • 递归改变目录 test 及其下文件所属群组为newgroup组用户
chgrp -R newgroup test
  • 将file文件所有者改为root ,所属群组为bin
chown root:bin file
  • Linux常用的软件包格式有RPMDEB两种

tar命令的使用

使用gzip工具(-z)解压(-x)由参数-f指定的文件,并显示压缩过程中详细信息(-v)

参数含义
tarLinux压缩/解压缩命令
-z代表gzip,使用gzip工具进行压缩或解压
-x代表extract,解压文件(压缩文件是-c)
-v代表verbose,显示解压过程(文件列表)
-f代表file,指定要解压的文件名(or 要压缩成的文件名)
-ccreate建立新的备份文件
-C切换到指定的目录

tar参数的逐个解释

  • -z
    含义:使用gzip或gunzip命令(工具)进行压缩或解压。
    换言之,这个z代表的是gzip工具,而没有指明是压缩还是解压
    注意,如果是Xxx.tar.gz文件才需要加上-z,如果是普通压缩文件Xxx.tar则不要加-z。
  • -x
    含义:从压缩文件中解压缩出文件。
    换言之,x代表的解压而不是压缩,压缩命令是-c
    -x
  • -v
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n7XqbMyY-1681023086484)(null)]
    含义:列出处理的文件详细信息
  • -f
    -f
    含义:指定要解压的文件名,或者在压缩命令时(tar -c),代表着最终压缩文件的名称
    后面跟着的ARCHIVE参数即文件名
tar命令的例子
  • 在工作目录下创建一个子目录myfile,用tar 命令归档myfile目录下的文件,创建文件名为myfiles.tar的文件并列出详细过程。
tar -cvf myfiles.tar  ./myfile/*
  • 在工作目录下,建立两个文件 file1,file2和一个子目录mywork, 将这两个文件打包为archive.tar.gz, 并显示归档过程。然后主目录在将archive.tar.gz 解包解压缩到mywork下。
touch file1,file2
mkdir mywork
tar  -czvf archive.tar.gz file1 file2
tar -xzvf  archive.tar.gz  -C ./mywork
  1. 在工作目录下,建立两个文件 file1,file2, 将这两个文件打包为archive.tar
  2. 用tar 命令归档工作目录,指明创建文件并列出详细过程,并设置打包文件名为gec. tar.gz
  3. 在当前目录下,建立一个temp子目录,并将打包文件gec.tar.gz 取出到temp子目录下。
touch  file1 file2 
tar  -cf archive.tar file1 file2
tar  -cvzf  gec.tar.gz  ./*    
mkdir temp     /home/xiaoping/temp
tar –xzvf gec.tar.gz  -C  ./temp 或 cd temp; tar -xzvf gec.tar.gz #-x解压/取出
  • 从根目录开始,查找扩展名是.conf 文件
find / -name '*.conf'
  • 在/etc目录下查找包含sys的文件
find /etc -name '*sys*'

在/etc/passwd 和 /etc/shadow 文件中查找字符串root
在/etc/passwd中查找包含‘-’的行,并显示行号.

grep root /etc/passwd /etc/shadow
grep -n  '-'  /etc/passwd

ls-l长格式列表

例如

-rwx r-x --x

第 1 列:文件属性
第 1 字符为文件类型
-: 普通文件
b : 块设备文件(Block)
d : 目录文件(Dir)
c :字符设备文件(Char)
I :符号连接文件(Link)
p :命名管道文件(Pipe)
文件的访问权限(r 读权限,w 写权限,x 可执行权限)
2-4 字符:文件所有者对文件的访问权限
5-7 字符:同组用户对文件的访问权限
8-10 字符:其它用户对文件的访问权限

软链接与硬链接

  • 硬连接指通过索引节点来进行连接。在 Linux 中,多个文件名指向同一索引节点是存在的,硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。

复制:相当于将原文件进行一个拷贝,为另一个全新的文件,与原文件没有关系了。修改任何一个都不会影响另一个。

  • 软连接建立的链接文件与原文件并不是同一个文件,相当于原文件的快捷方式
$ touch f1          #创建一个测试文件f1
$ ln f1 f2          #创建f1的一个硬连接文件f2
$ ln -s f1 f3       #创建f1的一个符号连接文件f3
$ ls -li            # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx  1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

$ rm -f f1            #删除源文件后
$ cat f2              #硬链接还有效  
I am f1 file
$ cat f3
cat: f3: No such file or directory    #软链接失效  


硬链接真正失效是当只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。(任何存在的文件本身就算是一个硬连接🙊)

用户管理

1.新建一个user1用户,UID、GID、主目录均按默认;
2.新建一个user2用户,UID=800、其余按默认;
3.新建一个user3用户,默认主目录为/abc、其余默认;并观察这三个用户的信息有什么不同;
4.分别为以上三个用户设置密码为123456;
5.把user1用户改名为u1,UID改为700,主目录为/test,密码改为12356;
6. 锁定账号u1,察查看有什么变化,并解锁账号;
usermod -l u1 , usermod –u u1
7. 删除用户u1 账号及其主目录 (userdel u1 -r)

useradd -m user1;
useradd -u 800 user2
useradd -d /abc user3;  cat /etc/passwd
passwd -p 123456 user1;  passwd -p 123456 user2; passwd -p 123456 user3;
usermod –l u1 user1 –u 700 –d  /test  -p 123656   
usermod  -l  u1 ; usermod –u u1
userdel  u1 -r

vim的基本操作

1) 设置行号:set nu ;
2)插入操作:光标移动第5行插入操作 i ;
3)删除操作:光标移动到第10行,dd ;
4)拷贝操作:3,5 co ; 5 )末行模式,存盘退出: w q 末行模式: / Y E S ,按 n 末行模式: 1 , ; 5)末行模式,存盘退出:wq 末行模式:/YES, 按 n 末行模式: 1, ;5)末行模式,存盘退出:wq末行模式:/YES,按n末行模式:1s/YES/yes/g 或1,$s/YES/yes/gc
在命令行模式中,按u操作,在末行模式操作:wq!

gcc编译

在编译C程序生成可执行文件需要
历经:预处理、编译、汇编、链接

makefile

当多个文件都需要编译以及还有头文件等,可编写Makefile来编译
例如

多文件.png

Makefile.png

一个TAB等于8个空格

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值