[Acwing] Linux基础课(一)

linux 基础

Linux常用命令

Linux文件管理命令
1. 根目录 ​​/​

一般根目录下有以下文件夹

Linux常用命令之文件管理_Linux常用命令

但有些目录并不是常用的,下面介绍一下常用的文件夹

Linux常用命令之文件管理_服务器_02

2. 根目录下常用的文件夹

  1. ​bin​​​: 放置一些常用的可执行命令,如 ​​ls​​​,​​vim​​​,​​mv​​​,​​tar​​等
  2. ​etc​​:一些服务的配置信息
  3. ​var​​: log日志比较多在这里面
  4. ​lib​​:会存在一些安装包或头文件
  5. ​home​​:所有用户的家目录,一个Linux可以有多个用户,都在这下面
  6. ​proc​​:进程相关的信息

3. 路径

  1. 绝对路径:从根目录 ​​/​​​开始描述, ​​/home/acs/main.cpp​
  2. 相对路径:从当前路径开始描述路径,

4. 常用管理命令

  1. ​ctrl + c​​:取消命令,并且换行
  2. ​ctrul + u​​:清空本行
  3. ​tab键​​:可以补全命令和文件名,如果补全不了快速按两下 tab键,可以显式备选选项
  4. ​ls​​:列出当前目录下所有文件,蓝色的时文件夹,白色的是普通文件,绿色的是可执行文件

    1. 参数:
    2. ​ls -l​​: 显式详细信息
    3. ​ls -lh​​:把文件大小化成k
    4. ​ls -a​​​:所有以 ​​.​​​开头的文件都隐藏了,​​-a​​可以显式所有的

  5. ​pwd​​:查看当前目录
  6. ​cd xxx​​​:进入xxx目录下,​​cd ..​​​返回上层目录,​​cd -​​返回上一个操作
  7. ​cp xxx yyyy​​​:将 ​​xxx​​​文件复制成 ​​yyy​​​,​​xxx​​​和 ​​yyy​​​可以是一个路径,比如 ​​../dir_c/a.txt​​​,表示上层目录下的 ​​dir_c​​​文件夹下的文件 ​​a.txt​
  8. ​mkdir XXX​​​:创建​​XXX​​目录
  9. ​rm XXX​​​: 删除普通文件; ​​rm XXX -r​​: 删除文件夹
  10. ​mv XXX YYY​​​: 将​​XXX​​​文件移动到​​YYY​​​,和​​cp​​​命令一样,​​XXX​​​和​​YYY​​可以是一个路径;重命名也是用这个命令
  11. ​touch XXX​​: 创建一个文件
  12. ​cat XXX​​​: 展示文件​​XXX​​中的内容
  13. ​复制文本​​​: windows/Linux下:​​Ctrl + insert​​​,Mac下:​​command + c​
  14. ​粘贴文本​​​: windows/Linux下:​​Shift + insert​​​,Mac下:​​command + v​

homework_1 作业
question
#   创建好作业后,先进入文件夹/home/acs/homework/lesson_1/,然后:
(0) 进入homework_0文件夹,分别创建文件夹dir_a, dir_b, dir_c
(1) 进入homework_1文件夹,将a.txt, b.txt, c.txt 分别复制成: a.txt.bak, b.txt.bak, c.txt.bak
(2) 进入homework_2文件夹,将a.txt, b.txt, c.txt 分别重命名为: a_new.txt, b_new.txt, c_new.txt
(3) 进入homework_3文件夹,将dir_a文件夹下的a.txt, b.txt, c.txt分别移动到文件夹dir_b下
(4) 进入homework_4文件夹,将普通文件a.txt, b.txt, c.txt删除
(5) 进入homework_5文件夹,将文件夹dir_a, dir_b, dir_c删除
(6) 进入homework_6文件夹,查看task.txt的内容,并按其指示进行操作
(7) 进入homework_7文件夹,创建文件夹dir_0, dir_1, dir_2,
将a.txt, b.txt, c.txt复制到dir_0下,重命名为a0.txt, b0.txt, c0.txt;
将a.txt, b.txt, c.txt复制到dir_1下,重命名为a1.txt, b1.txt, c1.txt;
将a.txt, b.txt, c.txt复制到dir_2下,重命名为a2.txt, b2.txt, c2.txt;
(8) 进入homework_8文件夹,分别在dir_a, dir_b, dir_c文件夹下查看task.txt的内容,并分别按照指示进行操作
(9) 进入homework_9文件夹,将其中所有txt类型的文件删除
Answer
(0) 
cd homework_0
mkdir dir_a dir_b dir_c

(1)
cd homework_1
cp a.txt a.txt.bak
cp b.txt b.txt.bak
cp c.txt c.txt.bak

(2)
cd homework_2
mv a.txt a_new.txt
mv b.txt b_new.txt
mv c.txt c_new.txt

(3)
cd homework_3
mv dir_a/a.txt dir_b/a.txt
mv dir_a/b.txt dir_b/b.txt
mv dir_a/c.txt dir_b/c.txt

#简便方法
mv dir_a/* dir/b

(4)
cd homework_4
rm a.txt b.txt c.txt

(5)
cd homework_5
rm dir_a dir_b dir_c -r.

#因为homework_5文件夹下只有文件夹dir_a, dir_b, dir_c,故可以使用
rm * -r


(6)
cd homework_6
cat task.txt
#将task.txt重命名为done.txt, 创建目录dir_a,将done.txt移动到目录dir_a下
mv task.txt done.txt
mkdir dir_a
mv done.txt dir_a/done.txt

#或者先创建 dir_a ,然后直接
mv task.txt dir_a/done.txt

(7)
cd homework_7
mkdir dir_0 dir_1 dir_2
cp a.txt dir_0/a0.txt
cp b.txt dir_0/b0.txt
cp c.txt dir_0/c0.txt
cp a.txt dir_1/a1.txt
cp b.txt dir_1/b1.txt
cp c.txt dir_1/c1.txt
cp a.txt dir_2/a2.txt
cp b.txt dir_2/b2.txt
cp c.txt dir_2/c2.txt

(8)
cd homework_8
cd dir_a
cat task.txt
#将a.txt删除
rm a.txt
cd ..
cd dir_b
cat task.txt
#将b.txt重命名为b_new.txt
mv b.txt b_new.txt
cd ..
cd dir_c
cat task.txt
#将c.txt复制成c.txt.bak
cp c.txt c.txt.bak

#中间的 cd .. 和 cd dir_b 可以结合使用,
cd ../dir_b

(9)
cd homework_9
rm *.txt

Result

Linux常用命令之文件管理_ubuntu_03


Linux常用命令之文件管理_运维_04