0%

Linux-base

1、Base

  • ls -lsh 目录名 -l 列出详细信息 (l: list) -sh 显示人类可读方式文件大小 (s: size; h: human readable)
  • cd - 回到刚才的目录. 当前目录 ..父目录
  • wc命令 -l -c -w - c 统计字节数。 -l 统计行数。 -w 统计字数。
  • which命令:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 [10]
  • find命令:查找文件/文件夹
    find ~/ -name test -type -d :查找家目录下,类型为目录的test -type 类型参数[11] 类型参数列表: f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 p Fifo
  • paste 命令用于合并文件的列[13]
  • alias name=value 设置的命令需要加参数或者是多个命令的组合,那么value需要加上''(单引号)或者""(双引号)。设置多个命令的组合时,还需要在不同命令间加上;(分号),例如cdlog='cd /var/log/server_log; ls'

2、Linux 文件颜色含义

Linux系统颜色默认表示的文件类型: 蓝色表示目录; 绿色表示可执行文件; 红色表示压缩文件; 浅蓝色表示链接文件; 灰色表示其它文件; 红色闪烁表示链接的文件有问题了; 黄色是设备文件,包括block, char, fifo。 用dircolors -p看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等定义。[12]

3、软链接 & 硬链接

ln -s 源文件(源目录) 目标文件(目标目录) 创建软链接(类似于快捷方式,大小较小) 不填写目标文件或目标目录,默认在当前目录创建软链接,可填写目标目录/名称,即可重命令软链接名称。

ln 源文件 目标文件 创建硬链接(类似于cp -p 加 同步更新 )[1] ln -s source/* target/ 把一个文件夹下的所有文件软连接到另一个文件夹下,即每个文件都有一个软链接。[2]

wget -c -b -c 断点续传 -b 后台运行

4、前后台命令 

nohup 命令 > run.log 2>&1 & 后台执行,不挂断,标准输出和错误输出都放到log文件里 把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面。 >console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。[3]

使用nohup关闭终端回来:用ps -aux|grep 软件名,前提是记住自己运行的软件名。[4] 未关闭终端:jobs 查看当前终端后台运行命令 ,终端关闭后无法查看。

命令前后台切换[5]: 后台执行命令:命令 & 程序正在前台运行: Ctrl+z 选项把程序暂停,在最后一行加上bg %number (number用job -l 查看) 程序正在后台运行:fg %number 把程序掉到前台 终止后台运行的程序:kill %number

5、WSL & VMware 

WSL依赖于hyper-v必须开启,而VMware不依赖这个,必须关闭[7] CMD管理员模式启动,输入bcdedit /set hypervisorlaunchtype auto开启,则可以使用WSL CMD管理员模式启动,输入bcdedit /set hypervisorlaunchtype off关闭,则可以使用VMware

6、解压缩

tar zxvf aaa.tar.gz[8]

参数 含义
tar Linux压缩/解压缩工具
-z 代表gzip,使用gzip工具进行压缩或解压
-x 代表extract,解压文件
-v 代表verbose,显示解压过程(文件列表)
-f 代表file,指定要解压的文件名(or 要压缩成的文件名)
-c 代表create,创建一个新文件
-j 通过 bzip2 过滤存档
tar 命令 含义
tar -cvf xxx.tar file 创建非压缩tar包
tar -cvf xxx.tar file1 file2 dir1 将多个⽂件+⽬录打tar包
tar -tf xxx.tar 查看tar包的内容
tar -xvf xxx.tar 解压tar包
tar -xvf xxx.tar -C /dir 将tar包解压⾄指定⽬录
tar -cvfj xxx.tar.bz2 dir 创建bz2压缩包
tar -jxvf xxx.tar.bz2 解压bz2压缩包
tar -cvfz xxx.tar.gz dir 创建gzip压缩包
tar -zxvf xxx.tar.gz 解压gzip压缩包
命令 含义
zip xxx.zip file 压缩⾄zip包
zip -r xxx.zip file1 file2 dir1 将多个⽂件+⽬录压成zip包
unzip xxx.zip 解压zip包
bunzip2 xxx.bz2 解压bz2压缩包
bzip2 filename 压缩⽂件
gunzip xxx.gz 解压gzip压缩包
gzip filename 压缩⽂件
gzip -9 filename 最⼤程度压缩

推荐阅读:

tar(1): manual page for tar 1.23 - Linux man page (die.net) https://mp.weixin.qq.com/s/Kog6AfXYINIDwKMpJMkGFQ

7、添加环境变量

临时:export PATH=/usr/local/nginx/sbin/:$PATH,将/usr/local/nginx/sbin/目录临时添加到环境变量中[9]

当前用户永久:vim ~/.bashrc将一下内容添加进去:

1
2
 # 注意等号后边要加引号,与临时添加有所差别;路径用绝对路径,不管是临时还是永久添加,不要~,用pwd去获得绝对路径
export PATH="/usr/local/nginx/sbin/:$PATH"

8、软件推荐

  • bat 类似于cat ,比cat好用。
  • fd 搜索文件,代替find (centos安装不便,放弃)
  • 类似Windows的listary:桌面的话推荐 FSearch 和 ANGRYsearch,命令行的话推荐 fzf。

9、查看系统版本

来源

  • lsb_release -a: (LSB(Linux 标准库Linux Standard Base)能够打印发行版的具体信息,包括发行版名称、版本号、代号等。)

  • **/etc/*-release 文件**:release 文件通常被视为操作系统的标识。在 /etc 目录下放置了很多记录着发行版各种信息的文件,每个发行版都各自有一套这样记录着相关信息的文件。

Ubuntu/Debian 系统上:

1
2
3
4
5
cat /etc/issue
cat /etc/issue.net
cat /etc/lsb-release
cat /etc/os-release
cat /etc/debian_version

RHEL/CentOS/Fedora:

1
2
3
4
5
cat /etc/centos-release
cat /etc/fedora-release
cat /etc/os-release
cat /etc/redhat-release
cat /etc/system-release

  • uname -a:uname(unix name 的意思) 是一个打印系统信息的工具,包括内核名称、版本号、系统详细信息以及所运行的操作系统等等。

  • cat /proc/version:这个文件记录了 Linux 内核的版本、用于编译内核的 gcc 的版本、内核编译的时间,以及内核编译者的用户名。

  • dmesg | grep "Linux":dmesg(展示信息display message 或驱动程序信息driver message)是大多数类 Unix 操作系统上的一个命令,用于打印内核的消息缓冲区的信息。

  • Yum/Dnf 命令:Yum(Yellowdog 更新器修改版Yellowdog Updater Modified)是 Linux 操作系统上的一个包管理工具,而 yum 命令被用于一些基于 RedHat 的 Linux 发行版上安装、更新、查找、删除软件包。

    1
    2
    yum info nano
    yum repolist #显示了 yum 的基础源仓库、额外源仓库、更新源仓库

    dnf 命令也同样可以查看发行版名称和版本号。

    1
    dnf info nano
  • rpm -q nano:RPM(红帽包管理器RedHat Package Manager)是在 CentOS、Oracle Linux、Fedora 这些基于 RedHat 的操作系统上的一个强大的命令行包管理工具,同样也可以帮助我们查看系统的版本信息。

  • apt-cache policy nano:Apt-Get(高级打包工具Advanced Packaging Tool)是一个强大的命令行工具,可以自动下载安装新软件包、更新已有的软件包、更新软件包列表索引,甚至更新整个 Debian 系统。

参考文章

+