【Linux学习】常见操作整理

以实用为主,简要汇总整理。(持续更新中...)

目录

# 常用命令

ls命令

1、 显示当前工作目录的内容

2、要列出特定目录的内容,例如 /etc 目录:

3、显示所有文件(包括隐藏文件)

4、打印文件详细信息

5、按最后修改时间排序

6、逆向排序文件

7、输出文件大小

8、以完整的时间格式输出

9、在不同种类的文件后面输出不同的特殊符号

10、显示文件夹本身信息,不输出其中的内容

11、对文件大小进行排序

12、显示文件的inode信息

cat命令

1、创建文件/连接文件

2、查看文件名为xxx的内容

3、清空文档内容

cd命令

mkdir命令

1、创建多个目录

2、递归创建多个目录

3、一次性创建多个文件

# 常见操作

安装程序

文本编辑

1、命令模式

2、输入模式

3、底线命令模式

*vim/vi工作模式切换

*vim中批量添加注释

*vim快捷键补充(插入模式)

*vim快捷键补充(编辑模式)

*vim快捷键补充(插入与编辑模式通用)

# Linux下重要的文件或目录

查看机器的信息

查看cpu相关信息

查看系统内存相关信息

查看日志文件相关信息


 

# 常用命令

  • ls命令

Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

常用:

1、 显示当前工作目录的内容

不带任何参数运行 ls 命令将列出当前工作目录的内容

2、要列出特定目录的内容,例如 /etc 目录:

he@he-ThinkPad-X200:~$ ls /opt

3、显示所有文件(包括隐藏文件)

一个目录总是包含一些隐藏的文件(至少有两个),因此,要展示目录中的所有文件,使用 -a或 -all标志:

he@he-ThinkPad-X200:~$ ls -a
.   .bash_history  .bashrc  .config  Documents  .gnupg  Music     .profile  .sudo_as_admin_successful  Videos
..  .bash_logout   .cache   Desktop  Downloads  .local  Pictures  Public    Templates                  .Xauthority

4、打印文件详细信息

打印输出的每一个文件的详细信息,例如文件权限、链接数、所有者名称和组所有者、文件大小、最后修改的时间和文件/目录名称(由-l选项来设置):

he@he-ThinkPad-X200:~$ ls -l
total 36
drwxr-xr-x 2 he he 4096 4月  10 02:11 Desktop
drwxr-xr-x 2 he he 4096 4月  10 02:11 Documents
drwxr-xr-x 2 he he 4096 4月  10 02:11 Downloads
drwxr-xr-x 2 he he 4096 4月  10 02:11 Music
drwxr-xr-x 2 he he 4096 4月  10 02:11 Pictures
drwxr-xr-x 2 he he 4096 4月  10 02:11 Public
drwxr-xr-x 2 he he 4096 4月  10 02:11 Templates
drwxrwxr-x 2 he he 4096 4月  14 22:43 test
drwxr-xr-x 2 he he 4096 4月  10 02:11 Videos

5、按最后修改时间排序

要在目录中列出文件并对最后修改日期和时间进行排序,在下面的命令中使用-t选项

he@he-ThinkPad-X200:~$ ls -t
test  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
he@he-ThinkPad-X200:~$ ls -lt
total 36
drwxrwxr-x 2 he he 4096 4月  14 22:43 test
drwxr-xr-x 2 he he 4096 4月  10 02:11 Desktop
drwxr-xr-x 2 he he 4096 4月  10 02:11 Documents
drwxr-xr-x 2 he he 4096 4月  10 02:11 Downloads
drwxr-xr-x 2 he he 4096 4月  10 02:11 Music
drwxr-xr-x 2 he he 4096 4月  10 02:11 Pictures
drwxr-xr-x 2 he he 4096 4月  10 02:11 Public
drwxr-xr-x 2 he he 4096 4月  10 02:11 Templates
drwxr-xr-x 2 he he 4096 4月  10 02:11 Videos

6、逆向排序文件

如果想要一个基于日期和时间的逆向排序文件,你可以使用 -r 选项来工作,像这样:

he@he-ThinkPad-X200:~$ ls -tr
Videos  Templates  Public  Pictures  Music  Downloads  Documents  Desktop  test
he@he-ThinkPad-X200:~$ ls -ltr
total 36
drwxr-xr-x 2 he he 4096 4月  10 02:11 Videos
drwxr-xr-x 2 he he 4096 4月  10 02:11 Templates
drwxr-xr-x 2 he he 4096 4月  10 02:11 Public
drwxr-xr-x 2 he he 4096 4月  10 02:11 Pictures
drwxr-xr-x 2 he he 4096 4月  10 02:11 Music
drwxr-xr-x 2 he he 4096 4月  10 02:11 Downloads
drwxr-xr-x 2 he he 4096 4月  10 02:11 Documents
drwxr-xr-x 2 he he 4096 4月  10 02:11 Desktop
drwxrwxr-x 2 he he 4096 4月  14 22:43 test

7、输出文件大小

-h:以人类可阅读的形式,输出文件大小

he@he-ThinkPad-X200:~$ ls -lh
total 36K
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Desktop
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Documents
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Downloads
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Music
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Pictures
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Public
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Templates
drwxrwxr-x 2 he he 4.0K 4月  14 23:54 test
drwxr-xr-x 2 he he 4.0K 4月  10 02:11 Videos

8、以完整的时间格式输出

--full-time:以完整的时间格式输出

he@he-ThinkPad-X200:~$ ls -l --full-time
total 36
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Desktop
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Documents
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Downloads
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Music
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Pictures
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Public
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Templates
drwxrwxr-x 2 he he 4096 2021-04-14 23:54:49.269378042 +0800 test
drwxr-xr-x 2 he he 4096 2021-04-10 02:11:37.048668358 +0800 Videos

9、在不同种类的文件后面输出不同的特殊符号

-F:便于判断文件类型。

  • 以 / 结尾的就是文件夹
  • 以 * 结尾的就是可执行文件
  • 以@结尾的就是软连接,快捷方式
  • 普通文件类型,结尾什么都没有
he@he-ThinkPad-X200:~$ ls /etc -lF
total 1096
drwxr-xr-x  3 root root    4096 2月  10 02:51 acpi/
-rw-r--r--  1 root root    3028 2月  10 02:47 adduser.conf
drwxr-xr-x  3 root root    4096 2月  10 02:48 alsa/
-rw-r--r--  1 root root    2584 2月   1  2020 gai.conf
-rw-r--r--  1 root root    4372 5月  18  2020 gamemode.ini
drwxr-xr-x  2 root root    4096 2月  10 02:51 gdb/
-rw-r--r--  1 root root     997 4月  10 01:34 group-
-rw-r--r--  1 root root     411 2月  10 02:51 hosts.allow
-rw-r--r--  1 root root     711 2月  10 02:51 hosts.deny
-rw-r--r--  1 root root   64266 4月  10 02:31 ld.so.cache
-rw-r--r--  1 root root      34 4月  15  2020 ld.so.conf
drwxr-xr-x  2 root root    4096 2月  10 02:48 ld.so.conf.d/
lrwxrwxrwx  1 root root      33 4月  10 01:34 localtime -> /usr/share/zoneinfo/Asia/Shanghai
drwxr-xr-x  4 root root    4096 2月  10 02:49 logcheck/
drwxr-xr-x  2 root root    4096 2月  10 02:52 xml/
-rw-r--r--  1 root root     477 10月  7  2019 zsh_command_not_found
...

10、显示文件夹本身信息,不输出其中的内容

he@he-ThinkPad-X200:~$ ls -ld
drwxr-xr-x 15 he he 4096 4月  15 20:42 .

11、对文件大小进行排序

-S:大写的S,默认是从大到小

he@he-ThinkPad-X200:~$ ls /etc -lhS
total 1.1M
-rw-r--r--  1 root root    63K 4月  10 02:31 ld.so.cache
-rw-r--r--  1 root root    41K 4月  10 02:31 mailcap
-rw-r--r--  1 root root    27K 3月   4  2020 brltty.conf
-rw-r--r--  1 root root    24K 10月 19  2019 mime.types
-rw-r--r--  1 root root    15K 2月   1  2019 ltrace.conf
-rw-r--r--  1 root root    15K 2月  17  2020 services
-rw-r--r--  1 root root    11K 11月  7  2019 sensors3.conf
-rw-r--r--  1 root root    11K 2月   7  2020 login.defs
-rw-r--r--  1 root root   9.9K 2月   7  2020 nanorc
-rw-r--r--  1 root root   9.3K 4月  10 01:29 locale.gen
-rw-r--r--  1 root root   7.5K 2月  10 02:52 pnm2ppa.conf

12、显示文件的inode信息

inode信息:文件的身份证号,存储了文件的元信息,文件的大小、位置、权限等等。

786657 -rw-r--r--  1 root root     477 10月  7  2019 zsh_command_not_found
he@he-ThinkPad-X200:~$ ls /etc -i
786439 acpi                           786587 fuse.conf        786504 logrotate.d              786638 resolv.conf
786568 adduser.conf                   786477 fwupd            786614 lsb-release              786639 rmt
786440 alsa                           786588 gai.conf         786615 ltrace.conf              786640 rpc
786441 alternatives                   786589 gamemode.ini     786616 machine-id 

 

  • cat命令

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。cat 是一个文本文件查看和连接工具。与这个命令相似功能的命令有:tac,less,tail,more。

使用权限:所有用户(即root帐号和所有普通帐号)
使用方法:cat [参数] 文件名

1、创建文件/连接文件

用cat创建文件时,需要使用EOF结束(非必须用EOF,推荐初学者只管知道用EOF就行)。如果手动用cat创建文件时,结束时需要按Ctrl+D组合键

he@he-ThinkPad-X200:~/test$ cat createfile.txt
cat: createfile.txt: No such file or directory
he@he-ThinkPad-X200:~/test$ cat >createfile.txt
hello,this is a new file.
end.
he@he-ThinkPad-X200:~/test$ cat createfile.txt
hello,this is a new file.
end.

在用cat > linuxyw.com时,用到>符号,这个符号是重定向的意思,会覆盖原来文件的内容,没有文件时会自动创建。如果用>>符号,即表进追加内容,不会覆盖原文件内容,只会在原文件内容下面追加你所输入的内容。>和>>千万别搞混了,用错可能会出大问题的。

he@he-ThinkPad-X200:~/test$ cat createfile.txt
hello,this is a new file.
end.
he@he-ThinkPad-X200:~/test$ cat >>createfile.txt
really?
he@he-ThinkPad-X200:~/test$ cat createfile.txt
hello,this is a new file.
end.
really?
he@he-ThinkPad-X200:~/test$ 

2、查看文件名为xxx的内容

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

he@he-ThinkPad-X200:~/test$ cat createfile.txt
hello,this is a new file.
end.
really?

aaa

bbb


ccc
he@he-ThinkPad-X200:~/test$ cat createfile.txt -n
     1	hello,this is a new file.
     2	end.
     3	really?
     4	
     5	aaa
     6	
     7	bbb
     8	
     9	
    10	ccc
he@he-ThinkPad-X200:~/test$ cat createfile.txt -b
     1	hello,this is a new file.
     2	end.
     3	really?

     4	aaa

     5	bbb


     6	ccc
he@he-ThinkPad-X200:~/test$ cat createfile.txt -s
hello,this is a new file.
end.
really?

aaa

bbb

ccc
he@he-ThinkPad-X200:~/test$ 

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

3、清空文档内容

he@he-ThinkPad-X200:~/test$ cat /dev/null > createfile.txt
he@he-ThinkPad-X200:~/test$ cat createfile.txt
he@he-ThinkPad-X200:~/test$ 

*dev/null:在类 Unix 系统中,/dev/null 称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个 EOF。

 

  • cd命令

Linux cd(英文全拼:change directory)命令用于切换当前工作目录。

几个特殊的目录:

he@he-ThinkPad-X200:~$ cd .  # 当前的工作目录
he@he-ThinkPad-X200:~$ cd /etc
he@he-ThinkPad-X200:/etc$ cd .
he@he-ThinkPad-X200:/etc$ cd ..  # 上一级的工作目录
he@he-ThinkPad-X200:/$ cd -  # 上一次的工作目录
/etc
he@he-ThinkPad-X200:/etc$ cd -
/
he@he-ThinkPad-X200:/$ cd -
/etc
he@he-ThinkPad-X200:/etc$ cd ~  # 当前系统登陆的用户家目录
he@he-ThinkPad-X200:~$ 

 

  • mkdir命令

创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

1、创建多个目录

2、递归创建多个目录

-p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

he@he-ThinkPad-X200:~/test$ ls
createfile.txt
he@he-ThinkPad-X200:~/test$ mkdir aaa  # 创建一个目录
he@he-ThinkPad-X200:~/test$ mkdir aaa
mkdir: cannot create directory ‘aaa’: File exists  # 不能创建同名目录
he@he-ThinkPad-X200:~/test$ mkdir {bbb,ccc,ddd}  # 创建多个目录
he@he-ThinkPad-X200:~/test$ ls
aaa  bbb  ccc  createfile.txt  ddd
he@he-ThinkPad-X200:~/test$ mkdir -p eee/fff/ggg  # 创建递归目录
he@he-ThinkPad-X200:~/test$ ls
aaa  bbb  ccc  createfile.txt  ddd  eee
he@he-ThinkPad-X200:~/test$ ls eee
fff
he@he-ThinkPad-X200:~/test$ ls eee/fff
ggg
he@he-ThinkPad-X200:~/test$ 

3、一次性创建多个文件

使用bash脚本。

he@he-ThinkPad-X200:~/test/aaa$ mkdir more{1..20}  # 创建more1到more20的文件
he@he-ThinkPad-X200:~/test/aaa$ ls
more1   more11  more13  more15  more17  more19  more20  more4  more6  more8
more10  more12  more14  more16  more18  more2   more3   more5  more7  more9
he@he-ThinkPad-X200:~/test/aaa$ 

 

 


# 常见操作

 

  • 安装程序

当我们执行 sudo apt install ... 时,该方式会将应用程序相关文件拆开,放到 Linux 下的各种目录下,最终文件会散落到 /usr/var/run 、/etc等等这些目录。

*Ubuntu安装一个软件常用的安装方式:

1、sudo apt install ...

2、sudo dpkg -i ***.deb

3、snap install ...

4、桌面版的可以直接从应用商店下载

5、下载二进制文件压缩包,解压直接使用

6、下载源码,自行编译,再make install

 

 

  • 文本编辑

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

1、命令模式

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下 i ,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

2、输入模式

在命令模式下按下 就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

3、底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

ESC键可随时退出底线命令模式

*vim/vi工作模式切换

*vim中批量添加注释

1)方法一 :块选择模式

  • 批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESCVim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

  • 取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

2)方法二: 替换命令

  • 批量注释:

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

  • 取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

*vim快捷键补充(插入模式)

  1. 自动补全:ctrl + n
  2. \p<  插入一个include,并把光标置于<>中间
  3. \im  插入主函数
  4. \ip  插入printf,并自动添加\n,且把光标置于双引号中间

*vim快捷键补充(编辑模式)

  1. dw  删除一个单词(配合b:将光标置于所在单词的首部)
  2. yw  复制一个单词(配合p:粘贴)

*vim快捷键补充(插入与编辑模式通用)

  1. \rr  运行程序
  2. \rc  保存并编译程序(会生成二进制文件)

 

 


# Linux下重要的文件或目录

  • 查看机器的信息

he@he-ThinkPad-X200:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
he@he-ThinkPad-X200:~$ 
  • 查看cpu相关信息

he@he-ThinkPad-X200:~$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz
stepping	: 10
microcode	: 0xa0b
cpu MHz		: 798.014
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts nopl cpuid aperfmperf pni dtes64 monitor ds_cpl smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti dtherm ida
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips	: 4521.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
...
  • 查看系统内存相关信息

he@he-ThinkPad-X200:~$ cat /proc/meminfo
MemTotal:        3923676 kB
MemFree:         1899784 kB
MemAvailable:    2901324 kB
Buffers:           64864 kB
Cached:          1206244 kB
SwapCached:            0 kB
Active:          1220460 kB
Inactive:         473292 kB
Active(anon):     530868 kB
Inactive(anon):      984 kB
Active(file):     689592 kB
Inactive(file):   472308 kB
Unevictable:      106964 kB
Mlocked:               0 kB
SwapTotal:       1391768 kB
SwapFree:        1391768 kB
Dirty:                 0 kB
Writeback:             0 kB
...
  • 查看日志文件相关信息

he@he-ThinkPad-X200:~$ ls /var/log
alternatives.log  boot-repair    dmesg       fontconfig.log   journal   speech-dispatcher  syslog.4.gz
apt               bootstrap.log  dmesg.0     gdm3             kern.log  syslog             ubuntu-advantage.log
auth.log          btmp           dmesg.1.gz  gpu-manager.log  lastlog   syslog.1           unattended-upgrades
boot.log          cups           dpkg.log    hp               openvpn   syslog.2.gz        wtmp
boot.log.1        dist-upgrade   faillog     installer        private   syslog.3.gz
he@he-ThinkPad-X200:~$ 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值