Linux基础

一.Linux目录结构

/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不存放其他文件。

/boot:该目录中存放系统的内核文件和引导装载程序文件。

/etc : 存放系统配置有关的文件。

/home : 存放普通用户目录。

/mnt : 硬盘上手动 挂载的文件系统。

/media : 自动挂载(加载)的硬盘分区以及类似CD、数码相机等可移动介质。

/opt : 存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存在同个目录下

/root :系统管理员root的宿主目录。

/bin : 包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等。

/sbin : 系统管理命令,放置系统管理员使用的可执行命令

/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。

/usr :应用程序存放目录,/usr/bin 存放应用程序, /usr/share存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,/usr/local存放软件升级包,/usr/share/doc 系统说明文件存放目录。

/var : 该目录存放那些经常被修改的文件,包括各种日志、数据文件,如/var/log/ 日志文件,包含大量日志文件。/var/cache/ 应用程序缓存数据。/var/mail/ 用户的电子邮箱。/var/run/ 自最后一次启动以来运行中的系统的信息.

/dev : 存放设备文件

/proc : 虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。

/sys : 和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。

/lib : 目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。

二.Linux基础命令

1.local -a

列出本机Linux所支持的所有语系

2.apt软件管理( Advanced Packaging Tool )

  apt命令需要获得root,所以一般在前边加上sudo

  apt-cache search packagename 搜索包

  apt-cache show packagename 获取包的相关信息

  apt-get update 在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令。需要定期运行这一命令以确保您的软件包列表是最新的。

  apt-get install packagename 安装一个新软件包

  apt-get remove packagename 卸载一个已安装的软件包(保留配置文档)

  apt-get remove --purge packagename 卸载一个已安装的软件包(删除配置文档)

  apt-get autoremove packagename 删除包及其依赖的软件包

  apt-get autoremove --purge packagname删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点

  apt-get update 更新源

  apt-get upgrade 更新已安装的包

  apt-get  dist-upgrade 升级系统

3.dpkg

 dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。

  dpkg -i package.deb 安装包

  dpkg -r package 删除包

  dpkg -P package 删除包(包括配置文件)

  dpkg -L package 列出与该包关联的文件

  dpkg -l package 显示该包的版本

  dpkg –unpack package.deb 解开 deb 包的内容

  dpkg -S keyword 搜索所属的包内容

  dpkg -l 列出当前已安装的包

  dpkg -c package.deb 列出 deb 包的内容

  dpkg –configure package 配置包

4.date

 用来显示或设定系统的日期和与时间

  date +"%Y-%m-%d %H-%M-%S"  :2018-09-03 21-09-44

  date +"%Y%m%d %H%M%S" :20180903 210944

  date -s //设置当前时间,只有root权限才能设置,其他只能查看。

  date -s 20180903 //将年月日设置成20180903,具体时间设置成空00:00:00。

  date -s 21:30:23 //设置具体时间,不会对日期做更改

  date -s “21:30:23 2018-09-03″ //这样可以设置全部时间

  将设置的时间与硬件时间同步:hwclock -w  

5.cal

显示日历

  cal   显示当前月份的日历

  cal -y   显示当年的日历

  cal 2030   显示指定年份的日历

6.tzselect

  设置时区

7.passwd

设置密码 

  passwd   修改当前用户的密码

  passwd username 修改指定用户的密码,需要管理员权限

8.logout

用户退出系统

9.reboot 

重新启动计算机,需要管理员权限

10.shutdown

系统关机指令

  shutdown -r now  现在立即重启

  shutdown -r +5  5分钟后重启

  shutdown -r 23:00    将在23:00重启计算机

  shutdown -h now 现在立即关机

  shutdown -h +5   5分钟后关机

  shutdown -h +5  “The System will shutdown after 5 minutes”   提示使用者将在5分钟后关机

  shutdown -h 23:00  将在23:00点钟关机

  shutdown -c  取消关机操作

11.cd

切换目录

  cd  回到当前用户的家目录

  cd  /etc 切换到/etc目录

  cd -  切换到上一次的目录

  ~可表示用户家目录、

12.pwd

显示工作目录,执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

13.mkdir

创建目录

  mkdir my_dir

  mkdir -p a/b/c/d 递归创建多级目录

14.获取帮助的命令

  命令 -h

  命令 --help

  info 命令

  man 命令

  man man 查看man命令手册

man手册的章节

  1命令

  2系统调用

  3库函数

  4特殊文件

  5文件格式

  6游戏

  7杂项信息

  8系统管理

  man 5 命令 在第5章寻找该命令的帮助

  man -k 命令 模糊查找

  man -f 命令 精确查找

15.touch

创建文件或修改文件或目录的时间戳

  touch file 把该文件时间戳改为当前时间,若文件不存在则创建文件

  touch -c 如果该文件不存在则不创建该文件

  touch -r file1 file2 把file2的时间设置成跟file1的一样

  touch -t [[CC]YY]MMDDhhmm[.SS] file 使用指定的时间设置文件的时间

16.rm

删除文件或目录

  rm -f file 强制删除该文件

  rm -r a/b/c 删除指定目录下的所有文件和目录

  rm -rf a/b/c 强制删除指定目录下的所有文件和目录

rm操作很危险,删除后无法恢复

17.mv

移动或重命名文件或目录

  move file1 file2 将file1改名为file2

  move 文件 目录 将文件移动到该目录下

  move 文件1 文件2 文件3 目录 将多个文件移动到该目录下

  move -i 文件 目录 将文件移动到该目录下,若目录中有同名文件则询问是否覆盖该文件

18.cp

复制文件或目录

  cp file /usr/men/tmp/file1 将file复制到/usr/men/tmp下并改名为file1

  cp -r /usr/men /usr/zh 将/usr/men下所有文件及其子目录复制到/usr/men下

  cp -p file1 file2 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中

  cp -i source target 如果需要有覆盖则提示

19.stat

查看文件相关信息

Access访问时间,读一次这个文件的内容,这个时间就会更新。

Modify修改时间,对文件内容修改一次,这个时间就会更新。

Change状态改变时间,通过chmod命令更改一次文件属性,这个时间就会更新。

20.cat

查看文件内容

参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

21.tac

和cat类似,显示的时候反转显示

22.wc(Word Count)

统计指定文件中的字节数、字数、行数,并将统计结果显示输出

参数:

-c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与 -c 标志一起使用。

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L 打印最长行的长度。

23.sort

将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序

参数:

-f  :忽略大小写的差异,例如 A 与 a 视为编码相同

-b  :忽略最前面的空格符部分

-n  :使用『纯数字』进行排序(默认是以文字型态来排序的)

-r  :反向排序

-u  :就是 uniq ,相同的数据中,仅出现一行代表

-t  :分隔符,默认是用 [tab] 键来分隔

-k  :以那个区间 (field) 来进行排序的意思

24.uniq

忽略或报告重复行

  uniq textfile 删除重复行

参数:

-i   :忽略大小写字符的不同

-c  :进行计数

-u  :只显示唯一的行

25.cut

文件内容查看显示行中的指定部分

  cut -f 1 test.txt 提取文件每行中的第一段

  cut -f2,3 test.txt 提取文件每行中2,3段

  cut -f2 --complement test.txt 提取每行除第二段的其他段

  cut -f2 -d";" test2.txt 指定字段分隔符为';'

  cut -c1-3 test.txt 打印每行的第1-3个字符

  cut -c-2 test.txt 打印每行的前两个字符

  cut -c5- test.txt 打印每行从第5个字符到最后的内容

未完

原文地址:https://www.cnblogs.com/sfencs-hcy/p/9580563.html