LInux

一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

1.绝对路径:路径的写法一定是由根目录 / 写起的,例如 :# cd /mnt/backups/

2.查看当前目录命令:pwd

3.回退一级目录:cd ..(cd 是目录切换命令)

4.回到主目录(当前用户的目录):cd ~

二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?

1.查看当前进程: ps

(1)ps -ef 是用标准的格式显示进程的、其格式如下:

UID :用户ID、但输出的是用户名 

PID :进程的ID

PPID:父进程ID 

C:进程占用CPU的百分比 

STIME :进程启动的时间

TTY :启动进程的终端名,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 

TIME:进程共占用CPU的时间

CMD :命令的名称和参数

(2)ps aux 是用BSD的格式来显示、其格式如下:

USER    进程的用户;
PID        进程的ID;
%CPU   进程占用的CPU百分比;
%MEM  占用内存的百分比;
VSZ       该进程使用的虚拟内存量(KB);
RSS       该进程占用的固定内存量(KB);
TTY        该进程在哪个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程;
START   该进程被触发启动时间;
TIME      该进程实际使用CPU运行的时间;
COMMAND   命令的名称和参数;

2.退出当前进程:exit

3.查看当前路径:pwd

三:怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?

1.清屏:clear

2.退出当前命令: ctrl+c 彻底退出(退出当前正在查看的界面log日志,恢复到可以执行命令的页面)

   执行睡眠 : ctrl+z 挂起当前进程fg 恢复后台

3.查看当前用户 id: ”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名

4.查看指定帮助: 如 man adduser 这个很全 而且有例子; adduser --help 这个告诉你一些常用参数; info adduesr;

四:Ls 命令执行什么功能? 可以带哪些参数,有什么区别?

1.ls 执行的功能: 列出指定目录中的目录,以及文件

 

2. ls -a :所有文件

3.ls -l :详细信息,包括大小字节数,可读可写可执行的权限等

五:建立软链接(快捷方式),以及硬链接的命令。

1.软链接: ln -s slink source

2.硬链接: ln link source

六:目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?

1.创建目录: mkdir

2.创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件

3.复制文件: cp (把text复制到 /mnt/backups/)

 七: 文件权限修改用什么命令?格式是怎么样的?

1.文件权限修改: chmod

 八:查看文件内容有哪些命令可以使用?

1.vi

(1) vi 文件名:查看文件,此时只能查看处于命令行模式,且光标在文件最前面。

(2)打开文件之后,i:进入插入模式,可以编辑文件

(3)编辑完之后,先退出插入模式:ESC,之后进入命令行模式“:”,在命令行输入退出文件命令:

  • w filename (输入 「w filename」将文章以指定的文件名filename保存)
  • wq (输入「wq」,存盘并退出vi)
  • q! (输入q!, 不存盘强制退出vi)

(4)可以在命令行模式下:

  • 显示行号:set number或者:set nu
  •  取消行号显示:set nu!

2.cat 文件名 :显示全部文件内容

3.more 文件名 #分页显示文件内容

(1)more:

(2)more  +数字:从第几行开始显示

 (3)more -数字:只显示到第几行

4.less 文件名 :与 more 相似,更好的是可以往前翻页

(1)空格键 滚动一行

(2)回车键 滚动一页

(3)[pagedown]: 向下翻动一页

(4)[pageup]:   向上翻动一页

(5)q:退出less命令

5.tail 文件名 :仅查看尾部,还可以指定行数,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容

6.head 文件名 :仅查看头部,还可以指定行数

(1)head 文件名:

(2)head -c  字节数  文件名 : 显示字节数

(3)head -n  行数  文件名 : 显示行数

九:随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”? 

1.vi/vim:写文件命令

2.echo hello world:echo向屏幕输出命令

十:移动文件用哪个命令?改名用哪个命令?

1.mv  文件  指定地址

2.mv

十一:复制文件用哪个命令?如果需要连同文件夹一块复制呢?

1.cp:只能复制文件

2.cp -r:可以复制文件夹

十二:删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?

1.删除文件:rm(remove directory的简写)

2.删除文件夹以及其下文件:rm -r

3.删除空文件夹:rm -r(会询问你是否删除),rmdir:直接删除

十三:Linux 下命令有哪几种可使用的通配符?分别代表什么含义?

1.“?”可替代单个字符。

2.“*”可替代任意多个字符。

3.方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]

十四:用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

wc 命令:

1.- c 统计字节数

2.- l 统计行数

3.- w 统计字数。

十五:Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?

1.是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。

2.忽略大小写:grep [小写字符(字符串)大写字符(字符串)]  filename

3.查找不含该串的行:grep  -v 'he' 412.txt 显示输出没有字符“he”所有的行

 

十六:Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

1.进程状态:

(1)不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
(2)暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。

(3)就绪状态:在 run_queue 队列里的状态

(4)运行状态:在 run_queue 队列里的状态
(5)可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
(6)zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
(7)退出状态

2.ps aux显示出来的信息表示状态的符号

D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X 死掉的进程

3.stat 中的参数意义如下:

D 不可中断 Uninterruptible(usually IO)

R 正在运行,或在队列中的进程

S 处于休眠状态

T 停止或被追踪

Z 僵尸进程

W 进入内存交换(从内核2.6开始无效)

X 死掉的进程

< 高优先级

n 低优先级

s 包含子进程

+ 位于后台的进程组

十七:怎么使一个命令在后台运行?

一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

十八:利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?

1.ps -ef :(system v 输出) 

2.ps  aux :bsd 格式输出

3.ps -ef | grep pid:显示指定进程的信息(因为grep 是个文本搜索工具,会显示出所有搜索出来的东西)

十九:哪个命令专门用来查看后台任务? 

1.jobs:查看当前有多少在后台运行的命令

2.jobs -l:可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。

二十:把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

1.把后台任务调到前台执行 fg

2.把停下的后台任务在后台执行起来 bg

二十一:终止进程用什么命令? 带什么参数? 

1.kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>] 

2.kill-9 pid

3.kill命令详解:

  • 1.命令格式:
    • kill[参数][进程号]
  • 2.命令功能:
    • 发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
  • 3.命令参数:
    • -l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
    • -a  当处理当前进程时,不限制命令名和进程号的对应关系
    • -p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
    • -s  指定发送信号
    • -u  指定用户  
  • 注意:
    • kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。
  • 4.使用实例:

    • kill -l:显示所有的信号

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

HUP      1       终端断线

INT        2      中断(同 Ctrl + C)

QUIT     3      退出(同 Ctrl + \)

TERM   15    终止

KILL      9      强制终止

CONT   18    继续(与STOP相反, fg/bg命令)

STOP    19    暂停(同 Ctrl + Z)

二十二:怎么查看系统支持的所有信号?

kill -l

二十三:搜索文件用什么命令? 格式是怎么样的? 

1.搜索文件格式:find <指定目录> <指定条件> <指定动作>

find
  find是最常用和最强大的查找命令。它能做到实时查找,精确查找,但速度慢。
  find的使用格式如下:
  #find [指定目录] [指定条件] [指定动作]
  指定目录:是指所要搜索的目录和其子目录。如果不指定,则默认为当前目录。
  指定条件:是指所要搜索的文件的特点。
  指定动作:是指对搜索的结果如何处理。
  常见选项:
  -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来)
  -iname 根据文件名查找(不区分大小写)
  -regex "PATTERN" 正则表达式匹配
  -user 根据文件属主进行查找
  -group 根据文件属组进行查找
  -uid 根据文件的uid查找
  -gid 根据用户的gid查找
  -nouser 查看所有的没有属主的文件
  -nogroup 查看所有的没有属组的文件
  例:查看tmp目录下,文件属主为redhat的文件
  #ls -l `find /tmp -user redhat`

2.案例:

  • find /etc/ -name 文件名      根据文件名查找(精确查找) 

  • find /etc/ -name  *(前面忽略)字符串      查找尾部有字符串的文件

文件名通配的知识:

*表示  通配任意的字符

?表示  通配任意的单个字符

[ ] 表示 通配括号里面的任意一个字符

  • find /etc -maxdepth 1 -name 文件名:查找/etc/下的文件,查找一层

二十四:查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?

1.查找自己所在的终端信息:who am i

2.查看当前谁在使用该主机:who

二十五:使用什么命令查看用过的命令列表?

history

二十六:使用什么命令查看磁盘使用空间? 空闲空间呢?

1.df -h或者df -hl

2.各个列表示的意义:

  • Filesystem:文件系统
  • Size:容量
  • Used: 已用
  • Avail:可用
  • Use%: 已用%
  • Mounted on :挂载点

二十七:使用什么命令查看网络是否连通?

Netstat: 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

从整体上看,netstat的输出结果可以分为两个部分:

  • 一个是Active Internet connections,称为有源TCP连接
    • 其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
  • 另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
    • Proto显示连接使用的协议
    • RefCnt表示连接到本套接口上的进程号
    • Types显示套接口的类型
    • State显示套接口当前的状态
    • Path表示连接到套接口的其它进程使用的路径名。

二十八:使用什么命令查看 ip 地址及接口信息?

ifconfig:命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

1.命令ifconfig

  • eth0 表示第一块网卡
    • inet :用来表示网卡的IP地址:172.17.118.85
    • broadcast:广播地址:172.17.127.255
    • netmask:掩码地址:255.255.240.0 
  • lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

二十九:查看各类环境变量用什么命令?

1.查看所有 env

2.查看某个,如 home: env $PATH

三十:查看当前目录下各个文件及目录占用空间大小

1.du -sh *

2.du -h --max-depth=1  /home :仅列出home目录下面所有的一级目录文件大小;

三十一:通过什么命令查找执行命令?

which 只能查可执行文件

whereis 只能查二进制文件、说明文档,源文件等

三十二:

1.find

2.locate
  locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
  locate使用格式
  locate [指定目录]
  例:查找所有包含passwd的文件
  #locate passwd
  例:查找所有包含passwd的文件,并且只显示前十个
  #locate -n 10 passwd

 3.which
  which命令是查找命令是否存在,以及命令的存放位置在哪儿。
  例:#which ls

 4.whereis

       用法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

      参数:

  • -b   只查找二进制文件。
  • -B<目录> 只在设置的目录下查找二进制文件。 -f 不显示文件名前的路径名称。
  • -m   只查找说明文件。
  • -M<目录> 只在设置的目录下查找说明文件。 -s 只查找原始代码文件。
  • -S<目录> 只在设置的目录下查找原始代码文件。 -u 查找不包含指定类型的文件。

  whereis命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
  whereis命令的使用实例:
  #whereis vim

三十三:怎么对命令进行取别名?

alias la='ls -a'

三十四:du 和 df 的定义,以及区别?

du 显示目录或文件的大小

df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。
(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i 节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。) du 命令是用户级的程序,它不考虑 Meta Data,而 df 命令则查看文件系统的磁盘分配图并考虑 Meta Data。

df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况。

三十五:如果一个linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

使用命令compgen ­-c,可以打印出所有支持的命令列表。

 

三十六:你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?

使用linux命令 ’disown -r ’可以将所有正在运行的进程移除。

三十七:bash shell 中的hash 命令有什么作用?

linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。

三十八:哪一个bash内置命令能够进行数学运算。

bash shell 的内置命令let 可以进行整型数的数学运算。

三十九:怎样一页一页地查看一个大文件的内容呢?

通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要.

[root@localhost ~]# cat file_name.txt | more

四十:数据字典属于哪一个用户的?

数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的

四十一:怎样查看一个linux命令的概要与用法?假设你在/bin目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?

使用命令whatis 可以先出显示出这个命令的用法简要,比如,你可以使用whatis more 去查看‘more’的介绍以及使用简要。

四十二:使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?

使用命令repquota 能够显示出一个文件系统的配额信息

【附】只有root用户才能够查看其它用户的配额。

 

posted @ 2019-04-11 18:19  门三  阅读(97)  评论(0编辑  收藏  举报