文章目录
一. 基本命令
01. ls指令
语法:ls [选项] [目录或文件]
功能:目录:该命令列出该目录下所有子目录与文件。
文件:列出文件名即其他信息
常用选项:
-a 列出目录下所有文件,包括以 . 开头的隐含文件.
-i 输出文件的 i 节点的索引信息。
-l 列出文件的详细信息。
02. pwd命令
语法:pwd
功能:显示用户当前所在目录
03. cd指令
语法:cd 目录名
功能:改变工作目录, 将当前工作目录改变到指定目录下
举例:
cd .. :返回上级目录
cd /home/xiaomoing/lunix/ :绝对路径
cd ../day02/ :相对路径
cd ~:进入用户目录
cd -:返回最近访问目录
04. touch指令
语法:touch [选项]...文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
常用选项:
-d 使用指定的日期或时间。
-r 把指定文档或目录的日期时间,设定成和参考文档或目录的日期时间相同
05. mkdir指令
语法:mkdir [选项] dirname...
功能:在当前目录创建一个名为"diname" 的目录
常用选项:
-p --parents 可以是一个路径名称, 此时若路径上的某些目录不存在,系统可以一次建立多个目录
06. rmdir指令 和 rm 指令
语法:rmdir [-p][driName]
功能:删除空目录
常用选项:
-p 当前子目录被删除后如果父目录为空,就连带删除父目录
语法:rm [-f-i-r-v][dirName/dir]
功能:删除文件或目录
常用选项:
-f 文件为只读时也可以删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
07. man指令
语法:[选项] 命令
功能:访问Lunix手册
常用选项:
-k 根据关键字搜索联机帮助
-a 将所有的章节都显示出来
08. cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录, 如同时指定两个以上的文件或目录, 且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中,若不存在,则会显示错误信息。
常用选项:
-f 强制复目录或文件, 不论文件或目录是否存在
-i 覆盖文件之前询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理
-R 递归处理
09. mv指令
语法:mv [选项] 源文件或目录 目标文件或目录
功能:视命令中第二个参数类型的不同(是目标文件还是目标目录),MV命令将文件重命名或将其移入一个新的目录中。
当第二个参数类型是文件时,完成文件重命名。
当第二个参数类型是已存在的目录时,源文件或目录参数可以有多个,mv命令将各参数指定的文件均移动到目标目录中。
常用选项:
-f 如果目标文件已经存在,直接覆盖不会询问
-i 若目标文件已经存在,会询问是否覆盖
10. cat/tac指令
语法:cat [选项][文件]
功能:查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行进行编号
-s 不输出多行空行
11. more指令
语法:more [选项][文件]
功能:功能类似cat
常用选项:
-n 对输出所有行进行编号
q 退出more
12. less指令
语法:less [参数] 文件
功能:使用less可以随意浏览文件,且在查看前不会加载整个文件
常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n: 重复前一个搜索
13. head指令
语法:head [参数]...[文件]...
功能:显示档案的开头至标准输出中,默认打印开头10行
选项:
-n<行数> 显示的行数
14. tail指令
语法:tail [必要参数][选择参数][文件]
功能:显示指定文件末尾内容,不指定文件时作为输入信息进行处理,从指定点开始将文件写入标准输出,
选项:
-f 循环读数
-n<行数> 显示行数
15. Cal指令
语法:cal [参数][月份][年份]
功能:用于查看日历
常用选项:
-3 显示系统的前一个月,当前月,下一个月的日历
-j 显示当年的第几天
-y 显示当前年份的日历
16. find指令
语法:find pathname ~options
功能:用于在文件树查找文件,并作出相应的处理
选项:-name 按照文件名查找文件
17. grep指令
语法:gre [选项]搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
-i 忽略大小写的不同
-n 输出行号
-v 反向选择, 显示出没有“搜寻字符串”内容的那一行
18. zip/unzip指令
语法:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下所有的文件与子目录一并处理
19. tar指令
语法:tar [选项]文件与目录...参数...
功能:打包/解包,不打开它,直接看内容
常用选项:
-c 建立一个压缩文件的参数指令
-x 解开一个压缩文件的参数指令
-z 是否同时具有gzip的属性?
-f 使用档名,请留意,在f之后要立即接档名,不要加参数
20. uname指令
语法:uname [选项]
功能:获取电脑和操作系统的相关信息
常用选项:
-a 或-all 详细输出所有信息
二. 进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.
Linux中的基本权限(r、w、x)
1、读(r/4):read对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限。
2、写(w/2):write对于文件来说,具有修改文件内容的权限;对于目录来说,具有删除、移动目录内文件的权限。
3、执行(x/1);execute对于文件来说,具有执行文件的权限;对于目录来说,具有进入目录的权限。
文件权限值得表示方法
a)字符表示方法
Lunix表示 | 说明 | Lunix表示 | 说明 |
---|---|---|---|
r– | 只读 | -w- | 可写 |
–x | 可执行 | rw- | 可读可写 |
-wx | 可写可执行 | r-x | 可读可执行 |
rwx | 可读可写可执行 | —— | 无权限 |
b)8进制数值表示方法
权限符号 | 八进制 | 二进制 |
---|---|---|
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
rw | 6 | 110 |
rx | 5 | 101 |
wx | 3 | 011 |
rwx | 7 | 111 |
—— | 0 | 000 |
修改权限的方法
1. chmod
chmod [参数] 权限 文件名
设置文件的访问权限
一. 用户表示符 +/-=权限字符
实例:
二. 三位8进制数字
实例
进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限?
cd:a.语法 cd 目录名(进入目录) b.所需权限x
touch:a.语法 touch 文件名(创建文件) b.所需权限wx
ls:a.语法 ls (显示当前目录下的所有文件) b.所需权限rx
rm:a.语法 rm 文件名(删除文件) b.所需权限wx
mv:a.语法 mv 文件名1 文件名2(把文件名1修改为文件名2) b.所需权限wx
三. Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
- /proc:特殊文件目录。这个目录采用一种特殊的文件格式(proc格式,内核支持这种格式。其中包括了全部虚拟文件。它们并不是保存在磁盘中,也不占用磁盘空间,当查看它们时,实际上看到的是内存里的信息,这些文件有助于我们了解系统内部信息)。
- /sys: 文件系统访问 Linux内核
- /SElinux:SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略
- /usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules
- /usr/local:存放软件升级包
- /var:内容经常变化的目录。此目录下文件的大小可能改变,如缓冲文件、日志文件、缓存文件等一般会放在这里
- /tmp:一般用户或正在执行的程序临时存放文件的目录即临时文件,任何人都可以访问,重要数据不可放置在此目录下
四. 重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
-
du 作用是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
主要参数:
a:显示全部目录和其次目录下的每个档案所占的磁盘空间
s:只显示各档案大小的总合
b:大小用bytes来表示
x:跳过在不同文件系统上的目录不予统计
a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数 -
df 命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。
主要参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型 -
top 基本格式df [options]
作用:命令用来显示执行中的程序进程,使用权限是所有用户
主要参数:
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。 -
free 格式free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
作用:free命令用来显示内存的使用情况,使用权限是所有用户。
主要参数:
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。 -
pstack:显示每个进程的栈跟踪
pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。 -
su 格式 su [选项]… [-] [USER [ARG]…]
作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
主要参数
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。 -
sudo(sudo -, sudo -s)
命令的配置在/etc/sudoers文件中。当用户使用sudo时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的。 pstack 命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。 -
adduser
(1)创建用户命令两条:
adduser
useradd
(2)用户删除命令:
userdel
两个用户创建命令之间的区别
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。 -
password:登陆密码管理
passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;
主要参数:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
五. 如何使用命令安装gcc/g++, gdb, vim
vim是Linux下的编辑器,linux中使用gcc来编译C程序,使用g++来编译C++程序,使用gdb来调试程序
一、vim
安装完Centos 后,默认是安装了Vi编辑器的。但Vim编辑器是没安装或者未完全安装的。
1)首先,检测是否已经安装过Vim;
输入命令:rpm -qa|grep vim
显示出完整的包名: vim-common,vim-enhanced,vim-minimal,vim-filesystem 表示安装成功,有的centos系统,默认包名不同。
2)若是缺少Vim包名:则在root下使用命令如下:
比如说: vim-minimal这个包少了,执行:yum -y install vim-minimal 命令,它会自动下载安装。
3)若下载完成,进行安装:
命令:yum -y install vim* 安装完成后则可以使用vim编辑器
二、gcc/g++
Centos中使用yum来配置gcc和g++,在root账户下,若要安装gcc,则在命令行中输入:yum -y install gcc,按回车键就能够进行gcc的安装;若要安装g++,则需要在命令行中输入:yum -y install gcc-c++,就能够进行g++的安装。
gdb
先使用如下命令看系统中是否安装了gdb,如果安装了,如下图
如果没有安装,则Centos中使用yum来安装gdb,在root账户下,在命令行中输入:yum install gdb,使用:which gdb 查看是否安装成功