Linux系统(一)——基础知识、常用命令

       准备考研,沉寂了一年时间,重新出发。先做个规划把,首先以一天两个大块的进度把Linux C的知识点重新梳理一遍,然后网络聊天室的思路理一理,在过完C++的知识后,结合QT、Mysql用C++把聊天室重写一遍。今天,把Linux的基础知识,shell命令,vim、gcc、makefile等Linux系统下常用开发工具温习一遍。

一、Linux基础知识

        Linux 从最开始就是一个开放的系统,并且它始终遵循着源代码开放的原则,它是一个成熟而稳定的网络操作系统,作为嵌入式操作系统有如下优势。 1、开放性 2、多用户 3、多任务 4、出色的稳定性和速度性能 5、丰富的网络性能 6、可靠的系统安全 7、可移植性:适用于大多数计算机平台。

        Linux的图像化界面——X窗口系统。X 窗口系统仅仅是 Linux上面的一个软件(或者也可称为服务),它不是 Linux 自身的一部分。X 窗口系统是一个相当耗费系统资源的软件,它会大大地降低 Linux 的系统性能。若是希望更好地享受 Linux所带来的高效及高稳定性,要尽可能地使用 Linux 的命令行界面,也就是 Shell 环境。

Linux系统(一)——基础知识、常用命令_第1张图片 Linux系统结构

Shell 是一种 Linux 中的命令行解释程序。用户输入命令,由Shell解析再传给Linux内核。

        Linux只是一个操作系统内核,它实现了操作系统的核心功能:内存管理,进程管理,文件系统管理和设备管理。用户操作系统,必须有更多应用程序支持。Shell是一个主要的应用程序,它提供了其他程序启动的环境,并且提供一个命令行界面与用户交互。Linux常用的Shell程序有sh,bash,csh等。

2,文件,目录和路径。

        Linux系统上的文件概念比较宽泛,它是用来保存数据的普通文件,它可以代表一个设备,还可以是用来通信的命名管道等。以句点.开头的是系统隐藏文件。 目录可以看做特殊文件。它的内容是其他文件的信息。

         Linux文件系统中只能有一个根目录/,它没有父目录。其他目录都有父目录。每个目录下默认有两个目录,其中一个是.,代表目录自身;另一个名字是两个两个句点..代表父目录。这两个文件都是隐藏文件。

        在Shell中操作时,有一个当前目录概念。当前目录是很多命令默认操作目录,并且是相对路径查找的起点。一般来说,用户有一个家目录,放在根目录home下,以用户名字命名。家目录是一个用户拥有完全操作权限的目录。家目录通常可以用~代表。

        Linux采用标准树形结构。通常以一个目录作为最上层(根目录),其他子目录都从根目录生成。根目录下的子目录可以任意嵌套。

         路径用来表示一个文件,形式上由斜杠/隔开的多个文件名组成。除最后一个文件名外,其他文件名都必须代表目录。每个斜杠后的文件必须存在于斜杠前的目录中,这样形成一个逐级查找的过程。

       路径有两种表达形式:以斜杠开始的称为绝对路径,从根目录开始逐级查找;不以斜杠开始的称为相对路径,将从当前目录开始查找。

3,用户和权限。

        Linux是多用户的操作系统,多个用户可以同时登陆进行操作。不同用户有不用权限。root用户拥有最大的权限,其他用户的权限则有相应的限制。

        Linux系统上还有用户组的概念,一个组可以包含多个用户,一个用户可以同时加入多个组。组内用户除了自身的权限外,还拥有用户组成员的共同权限。通常每建立一个新的用户,也同时建立一个与用户同名的组,新用户包含在组内。

        Linux文件系统中的每个文件都有权属标志,系统根据这些标志来控制用户对这个文件的访问。首先,每个文件都记录了它所属的用户和所属的组;其次,每个文件都有三组权限标志,分别针对所属用户、所属组和其他用户,每组权限包括读、写、执行三种权限。如果用户对每一个文件都有读的权限,他就可以查看这个文件的内容;如果有写权限,就可以修改文件的内容;如果有执行权限,就可以把这个程序作为可执行程序来运行。

       对于一个目录而言,也有三种权限。如果用户对一个目录有读权限,那么就可以查看目录内容,也就是目录内包含的文件列表;如果有写权限,就可以修改目录的内容,即创建和删除文件;如果有执行权限,就可以使用此目录作为路径啊哦做目录下的文件,否则不允许操作,不能将此目录作为当前目录。

       文件权属标志可以用ls -l查看。

Linux系统(一)——基础知识、常用命令_第2张图片

 

二、Shell及常用命令

        在Shell命令行的界面分为两类:一类是Shell自己实现的功能,称为内置命令;另一类是单独的应用程序,输入命令后Shell执行这个程序,Liunux的命令大多属于后者,称为外部命令

        大多Shell命令都接受命令参数,参数写在命令后面,用空格隔开。参数可能是一个文件名,也可能表示一个命令选项。命令选项有两种约定形式:长格式和段格式

         长格式用两个减号加英文单词表示。 

          短格式用一个减号加一个字母表示。

man --help == man -h     //显示man命令的帮助信息。

2,命令使用技巧

(1)输入命令未完成时可按Tab键,Shell会自动补齐;如果存在多个可能性,则不能自动补齐,再按一下Tab显示所有可能性文件名、命令都可以自动补齐。

(2)按上、下箭头键可以在命令的执行历史中查找命令

(3)在命令输入过程中(未按回车键)可按Ctrl+C组合键取消键入

(4)正在执行的命令可按Ctrl+C组合键终止

(5)ctrl+L组合键表示清楚命令终端屏幕

3、Linux常用命令

(一)用户管理类命令

(1)useradd sun  //添加用户名为sun的用户

(2)userdel sun  //删除用户名为sun的用户

(3)su sun  //切换到sun用户

(4)su  //切换到超级用户

(5)who //查看当前用户的登录信息

超级用户:[root@localhost~]#

普通用户:[sun@localhost root]$

(二)文件目录类命令

(1)ls命令

(a)用于列出目录内容,给出目录名将列出目录下所有的文件和子目录;如果命令给出文件名,将列出文件的相关信息;如果没有给出目录名或文件名,则显示当前目录下的所有文件和子目录。按字母顺序排序。

(b)常用选项

-a 列出包含隐藏文件

-l 列出详细信息

(c)格式

ls /home             

ls -a /home 

ls -al /home

(2)pwd命令

(a)显示当前工作的绝对路径

(b)格式

pwd

(3)cd命令

(a)更改工作目录

(b)格式

cd [目录名]  //可以为绝对路径或者相对路径,省略则进入用户的主目录

(4)mkdir命令

(a)创建新文件

(b)格式

mkdir file //创建名为file的文件夹

mkdir examp.c //创建名为exampel.c的文件

(5)cp命令

(a)用来复制文件或目录

(b)格式

cp [选项] 源文件或目录   目标文件或目录

(c)常用选项

-i 若目标文件存在,覆盖之前提醒

-a 保留链接,文件属性,并递归地复制子目录

-d 复制时保留链接

-l 不复制,只创建一个链接

(6)mv命令

(a)为文件或目录改名或移动文件或目录位置

(b)格式

mv [选项] 源文件或目录  目标文件或目录

(c)如果第一个参数为文件名,第二个参数为同一目录下不存在的文件名,则mv完成文件的重命名;如果第二个参数为已存在的目录名,则源文件被移至目标目录中。如果第一个参数为目录名,第二个参数为同一目录下不存在的文件或目录名,则mv完成目录的重命名;如果第二个参数为已存在的目录名,则源目录将被移至目标目录中。

(d)常用选项

-i 若目标文件存在,覆盖时给出提示。

(7)rm命令

(a)用来删除文件或目录

(b)删除目录时,其下所有文件和子目录都会被删除;删除链接文件时,只删除链接, 原文件不会被删除。

(c)常用选项

-f  忽略不存在的不存在的文件,不给出提示。

-r  删除目录中的所有文件和子目录

-i  删除文件之前给出用户提示

(8)cat命令

(a)显示文本文件

(b)格式

cat [选项] 文件名

(c)常用选项

-n 对所有输出行进行编号

-b 空白行不编号

-c 两个空白行合并为一个

(9)wc命令

(a)统计文件中的行数,字数及字节数信息。

(b)格式

wc [选项]  文件名

(c)常用选项

-c  统计字节数

-l 统计行数

-w 统计字数

(d)字是指空格字符分割开的字符串。没有给出文件名则从标准输入读取。该命令同时还出所有文件的统计结果。

(10)chmod命令

(a)用于更改文件或目录的访问方式

(b)格式:

字母设定方式:chmod [who] [操作符] [mode] 文件名

who:设置对象 u 文件或目录属主   g 文件或目录的属组用户,即与属主有相同GID的用户  -o 表示其他用户  -a所有用户 ,默认值 

操作符:+ 增加某项权利   - 取消某项权利   = 设置指定权限,并取消其他所有权限

mode:访问权限 可以为几个字母的组合。

r 可读   w  可写   x 可执行   u 与文件属主有相同权限 g 与文件属组有相同权限 o 与其他用户有相同权限

           chmod u+x example3.c     

数字设定方式:chmod [mode] 文件名

数字属性的格式为3个从0到7的八进制数,其顺序是(u)(g)(o)

0 没由权限  1 可执行权限  2 可写权限  4 可读权限
            chmod 775 example3.c 

(11)ln命令

(a)创建文件或目录的连接

(b)格式

ln  [选项]  文件或目录 链接名

(c)Linux系统中,链接分为两类,硬链接(Hard Link)和符号连接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。对于符号连接,不存在上述问题。

(d)默认情况,ln产生硬链接;如果给ln命令加上s选项,则建立符号连接
(12)find命令

(a)从指定目录开始,递归搜素其下各个子目录,查找满足条件的文件,并对其指定的操作。它的一般格式为:

find  起始目录  查找条件 操作  

(三)其他命令

(1)kill命令

(a)用来终止一个进程。

(b)格式: kill  信号名或编号   进程标识符

(c)常用形式

kill -STOP 进程标识符   //发送SIGSTOP信号停止一个进程,不消灭进程。

kill -CONT 进程标识符  //发送SIGCONT重新开始一个停止的进程。

kill -9 进程标识符 //发送SIGKILL信号强迫进程立即停止,但不进行清理操作。

(2)ifconfig命令

(a)用于查看配置网络接口的地址和参数,包括IP地址,网络掩码,广播地址,它的使用权限是超级用户

(b)格式:

ifconfig有两种使用格式,分别用于查找和更改网络接口

ifconfig [选项] [网络接口]:用来查看当前系统的网络配置情况。

ifconfig 网络接口 [选项]:用来配置指定接口(如eth0,eth1)的IP地址,网络掩码,广播地址等。

(c)常见参数

ifconfig 第二种格式常见参数 :

-interface 指定网络接口    -up激活指定接口   -down关闭指定的网络接口 

-broadcast 设置接口广播地址  -pointopint 启用点对点方式   -netmask 设置接口的子网掩码

你可能感兴趣的:(Linux—C)