1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
绝对路径:如/etc/init.d
当前目录和上层目录:./ ../
主目录:~/
切换目录:cd
2、怎么查看当前进程?怎么执行退出?怎么查看当前路径?
查看当前进程:ps
执行退出:exit
查看当前路径:pwd
3、怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
清屏:clear
退出当前命令:ctrl+c 彻底退出
执行睡眠 :ctrl+z 挂起当前进程fg 恢复后台
查看当前用户 id:”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名
查看指定帮助:如 man adduser 这个很全 而且有例子;adduser --help 这个告诉你一些常用参数
4、Ls 命令执行什么功能?可以带哪些参数,有什么区别?
ls 执行的功能:列出指定目录中的目录,以及文件
哪些参数以及区别:a 所有文件l 详细信息,包括大小字节数,可读可写可执行的权限等
ls:查看目录内容或文件信息
格式:ls [选项] [目录或文件]
常用命令选项
-l:以长格式显示
-a :列出文件下所有的文件
-A:列出除了"."和".."以外的文件
-d:显示目录本身的属性
-R:递归显示内容
-h:以K、M、G等单位显示文件大小
.ls显示结果以不同的颜色来区分文件类别(蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件。)
.ls –l 显示内容说明(“-”代表普通文件,“d”代表目录,“l”代表符号链接,“c”代表字符设备,“b”代表块设备。)
5、建立软链接(快捷方式),以及硬链接的命令。
软链接:ln -s slink source
硬链接:ln link source
ln命令——为文件或目录建立链接:ln命令用于为文件或目录建立快捷方式(在Linux系统中称为链接文件),链接文件分为硬链接、软链接两种类型,平时使用的大 都是软链,在创建软链接时需要使用“-s”选项。
一般格式:ln [选项] 源文件 目标文件
例:
# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /root/net
6、目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
创建目录:mkdir
创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件
复制文件:cp
cp:复制文件或目录
格式:cp [选项] 源文件或目录 目标文件或目录
常用选项
.-f:强制覆盖,不需确认
.-r:递归复制目录
7、文件权限修改用什么命令?格式是怎么样的?
文件权限修改:chmod
格式如下:
$ chmod u+x file 给 file 的属主增加执行权限
$ chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
$ chmod =r file 为所有用户分配读权限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限
8、查看文件内容有哪些命令可以使用?
vi 文件名 #编辑方式查看,可修改
cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容
less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅查看尾部,还可以指定行数
head 文件名 #仅查看头部,还可以指定行数
9、随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?
写文件命令:vi
向屏幕输出带空格的字符串:echo hello world
Vi,是一款由加州大学伯克利分校开发的字符文本编辑 器,开发vi的目的在于解放鼠标,vi编辑器在Linux系统中相当于Windows系统中的word+记事本。
.命令格式:vi或是vim [文件名]
vi编辑器三种工作模式(命令模式、输入模式、底线命令模式)
退出:在控制命令状态下输入“:q”,回车
保存:在控制命令转态下输入“:w”,回车
保存并退出:在控制命令状态下输入“:wq”,回车
不保存退出:在控制命令状态下输入“:q!”,回车
操作类型 | 按键指令 | 用途 |
设置行号 | :set nu|nonu | 设置行号 |
复制 | yy | 复制光标处的一行 |
粘贴 | p、P | 粘贴到光标处之后、之前 |
删除 | dd | 删除光标处的一行 |
x或Delete键 | 删除光标处的单个字符 | |
插入和编辑 | i、a、o | 在控制命令状态下按“i、a、o”,进行编辑 |
文本查找 | /word | 向后查找字符串”word” |
?word | 向前查找字符串”word” | |
撤销操作 | u | 撤销最近的一次操作 |
U | 撤销当前行的所有修改 | |
Ctrl+r | 取消前一次撤销操作 | |
保存退出 | ZZ | 保存文件内容并退出vi编辑器 |
行内替换 | :s /old/new | 替换当前行第一个”old” |
:s /old/new/g | 替换当前行所有的”old” | |
区域内替换 | :n,m s/old/new/g | 替换第n-m行所有的”old” |
:%s /old/new/g | 替换文件内所有的”old” | |
操作确认 | :%s /old/new/gc | 替换时加c,每次需用户确认 |
10、终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
终端 /dev/tty
黑洞文件 /dev/null
11、移动文件用哪个命令?改名用哪个命令?
mv mv
mv:移动文件或目录
.格式:mv [选项] 源文件或目录 目标文件或目录
12、复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?
cp cp -r ????
13、删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
rm rm -r rmdir
rmdir:删除空目录
-p :删除多级目录
rm:删除文件或目录
.-f:强制删除,不需确认
.-r:递归删除目录
14、Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
“?”可替代单个字符。
“*”可替代任意多个字符。
方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]
15、用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。
16、Grep 命令有什么用?如何忽略大小写?如何查找不含该串的行?
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
grep [stringSTRING] filename grep [^string] filename
grep命令
grep [选项] 查找条件 目标文件
例:# grep root /etc/passwd
grep不支持通配符,而是使用正则表达式:符号“^ ”表示以什么字符开头,符号“$”表示以什么字符 结尾,如“^word”表示以“word”开头,“word$ ”表示以“word”结尾,“^$”表示空行。
例:# grep ^# /etc/httpd/conf/httpd.conf
-v:反转查找
-E:查找多个关键词,匹配任意一个,关键词以“| ”分隔
提取出/etc/yum.conf文件的有效配置记录,即去掉空行、注释行。
答案:# grep -vE "^#|^$" /etc/yum.conf
17、Linux中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
- (1)、不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
- (2)、暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
- “正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
- (3)、就绪状态:在 run_queue 队列里的状态
- (4)、运行状态:在 run_queue 队列里的状态
- (5)、可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
- (6)、zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
- (7)、退出状态
- D 不可中断 Uninterruptible(usually IO)
- R 正在运行,或在队列中的进程
- S 处于休眠状态
- T 停止或被追踪
- Z 僵尸进程
- W 进入内存交换(从内核 2.6 开始无效)
- X 死掉的进程
18、怎么使一个命令在后台运行?
一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)
19、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?
ps -ef (system v 输出)
ps -aux bsd 格式输出
ps -ef | grep pid
20、哪个命令专门用来查看后台任务?
job -l
21、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?
把后台任务调到前台执行 fg
把停下的后台任务在后台执行起来 bg
22、终止进程用什么命令? 带什么参数?
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
kill-9 pid
23、怎么查看系统支持的所有信号?
kill -l
24、搜索文件用什么命令? 格式是怎么样的?
find <指定目录> <指定条件> <指定动作>
whereis 加参数与文件名
locate 只加文件名
find 直接搜索磁盘,较慢。
find / -name "string*"
find和grep命令的区别:
find命令是在某个指定的路径下找我们需要的文件或目 录,目标是文件或目录。
grep命令是在某个文件中找我们所需要的某部分内容, 目标是字符串。
find命令类似于在Windows系统中执行的“搜索”操作 ,而grep命令则类似于在WORD中执行的“查找”操作。
find命令
格式:find [查找范围] [查找条件表达式]
- “-name”选项,按名称查找,允许使用通配符。(# find /etc -name "net*.conf“)
- “-type”选项,按文件类型查找,文件类型包括:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)。( # find /boot -type d)
- “-user”选项,按文件所有者查找,根据文件是否 属于某个目标用户进行查找。( # find /home -user student)
- “-size”选项,按文件大小查找,使用“+”、“- ”号设置超过或小于指定的大小作为查找条件。常用 的容量单位包括k(注意是小写)、M、G。( # find /boot -size +1024k))
25、查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?
查找自己所在的终端信息:who am i
查看当前谁在使用该主机:who
26、使用什么命令查看用过的命令列表?
history
27、使用什么命令查看磁盘使用空间?空闲空间呢?
df -hl
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
28、du 和 df 的定义,以及区别?
du 显示目录或文件的大小
df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。
(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i 节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。)
du 命令是用户级的程序,它不考虑 Meta Data,而 df 命令则查看文件系统的磁盘分配图并考虑 Meta Data。
df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况。
29、使用什么命令查看网络是否连通?
netstat
30、使用什么命令查看 ip 地址及接口信息?
ifconfig
31、查看各类环境变量用什么命令?
查看所有 env
查看某个,如 home:env $HOME
32、通过什么命令指定命令提示符?
- \u:显示当前用户账号
- \h:显示当前主机名
- \W:只显示当前路径最后一个目录
- \w:显示当前绝对路径(当前用户目录会以~代替)
- $PWD:显示当前全路径
- \$:显示命令行’$'或者’#'符号
- \#:下达的第几个命令
- \d:代表日期,格式为week day month date,例如:"MonAug1"
- \t:显示时间为24小时格式,如:HH:MM:SS
- \T:显示时间为12小时格式
- \A:显示时间为24小时格式:HH:MM
- \v:BASH的版本信息 如export PS1=’[\u@\h\w\#]\$‘
33、查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:whereis 指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
- -b 只查找二进制文件。
- -B<目录> 只在设置的目录下查找二进制文件。-f 不显示文件名前的路径名称。
- -m 只查找说明文件。
- -M<目录> 只在设置的目录下查找说明文件。-s 只查找原始代码文件。
- -S<目录> 只在设置的目录下查找原始代码文件。-u 查找不包含指定类型的文件。
- which 指令会在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
- -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
- -p 与-n 参数相同,但此处的包括了文件的路径。-w 指定输出时栏位的宽度。
- -V 显示版本信息
34、通过什么命令查找执行命令?
which 只能查可执行文件
whereis 只能查二进制文件、说明文档,源文件等
35、怎么对命令进行取别名?
alias la='ls -a'
alias命令——设置命令别名:命令别名通常是命令的缩写,对于经常使用的命令,通过设置别名可以简化操作。
alias命令的一般格式:alias [别名=‘标准Shell命令 行’]
单独执行alias命令可以列出当前系统中已经存在的别名 命令。
# alias cpd='cat /etc/passwd'
如果要取消所设置的别名命令,可以使用unalias命令。
# unalias cpd
36、awk 详解。
awk '{pattern + action}' {filenames}
#cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' //-F 的意思是以':'分隔 root /bin/bash
daemon /bin/sh 搜索/etc/passwd 有 root 关键字的所有行
#awk -F: '/root/' /etc/passwd root:x:0:0:root:/root:/bin/bash
37、当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?
可以使用bind命令,bind可以很方便地在shell中实现宏或按键的绑定。
在进行按键绑定的时候,我们需要先获取到绑定按键对应的字符序列。
比如获取F12的字符序列获取方法如下:先按下Ctrl+V,然后按下F12 .我们就可以得到F12的字符序列 ^[[24~。
接着使用bind进行绑定。
[root@localhost ~]# bind ‘”\e[24~":"date"'
注意:相同的按键在不同的终端或终端模拟器下可能会产生不同的字符序列。
【附】也可以使用showkey -a命令查看按键对应的字符序列。
38、如果一个linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做?
使用命令compgen -c,可以打印出所有支持的命令列表。
[root@localhost ~]$ compgen -c
l.
ll
ls
which
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
…
39、如果你的助手想要打印出当前的目录栈,你会建议他怎么做?
使用Linux 命令dirs可以将当前的目录栈打印出来。
[root@localhost ~]# dirs
/usr/share/X11
【附】:目录栈通过pushd popd 来操作。
40、你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
使用linux命令 ’disown -r ’可以将所有正在运行的进程移除。
41、bash shell 中的hash 命令有什么作用?
linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。
[root@localhost ~]# hash
hits command
2 /bin/ls
2 /bin/su
42、哪一个bash内置命令能够进行数学运算。
bash shell 的内置命令let 可以进行整型数的数学运算。
#! /bin/bash
…
…
let c=a+b
…
…
43、怎样一页一页地查看一个大文件的内容呢?
通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要.
[root@localhost ~]# cat file_name.txt | more
44、数据字典属于哪一个用户的?
数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的
45、怎样查看一个linux命令的概要与用法?假设你在/bin目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?
使用命令whatis 可以先出显示出这个命令的用法简要,比如,你可以使用whatis zcat 去查看‘zcat’的介绍以及使用简要。
[root@localhost ~]# whatis zcat
zcat [gzip] (1) – compress or expand files
46、使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?
使用命令repquota 能够显示出一个文件系统的配额信息
【附】只有root用户才能够查看其它用户的配额。
47、Type
用途:显示指定命令的类型
格式:type 命令名
48、keyword 关键字,Shell保留字,function 函数,Shell函数,builtin 内建命令,Shell内建命令,file 文件,磁盘文件,外部命令,unfound 没有找到
49、内部命令help
查看Bash内部命令的帮助信息(格式:help 命令名)
命令的“--help” 选项
适用于大多数外部命令 (格式: 命令名 --help)
50、使用man命令阅读手册页
使用“á”、“â”方向键滚动文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境、按“/”键后查找内容
使用info命令阅读信息页
51、date:查看,设置时间
date –s 2015/9/10
date –s 12:00
更改时区: cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cal:显示日历
52、bc:计算器,scale=3指定保留几位小数,quit退出
53、基础命令(1)
目录操作命令:pwd(显示用户当前所在的工作目录位置)、cd(切换目录)、ls(查看目录内容或文件信息)、mkdir、du
文件操作命令:touch、file、cp、rm、mv、which、find、ln
文件内容操作命令:cat、more、less、head、tail、wc、grep
归档及压缩命令:gzip、tar
54、du
格式:du [选项] [目录或文件]
常用命令选项
-a:统计所有文件和目录大小
-s:只统计参数指定文件或目录大小
-h:以K、M、G等单位显示文件大小
55、基础命令(2)
cat:显示文件的内容
例: cat /etc/passwd
more和less命令 分页显示文件内容
区别:当文件内容显示到文件尾时,more命令会自动 退出阅读环境,而less命令不自动退出,需在提示符“:”后按Q键退出
head和tail命令 查看文件开头或末尾的部分内容
wc命令:文件内容统计
常用选项:
-l,统计行数;-w,统计单词数;-c,统计字节数。
例:# wc -l /etc/passwd
which:用于查找Linux外部命令所对应的程序文件,其 搜索范围由环境变量
56、PATH决定
外部命令的程序文件大都存在/bin、/sbin、/usr/bin ……这些目录里,Linux系统默认将这些路径添加到一 个名为PATH的变量里,执行“echo $PATH”命令可以显 示出PATH变量里的保存的目录路径(路径之间用“:” 间隔)
57、输入输出重定向
Linux系统中标准的输入设备为键盘,标准输出设备为屏 幕,但在某些情况下,我们希望能从键盘以外的其他输 入设备读取数据,或者将数据送到屏幕外的其他输出设备,这种情况称为重定向。
输入重定向:<(“>”后面指定的文件如果不存在,将先建立该文件,再 保存命令结果到文件中。)
输出重定向:>或>>(“>”后面指定的文件如果存在,将先清空文件的内容, 再保存命令结果到文件中。)
“>>”可以将命令结果重定向并追加到指定文件的末尾 保存,而不覆盖文件中原有的内容。
例:[root@localhost ~]# cat /etc/passwd > pass.txt
(查看/etc/passwd文件的内容,并将输出结果保存到 pass.txt文件中。)
58、管道符“|”
管道符用于将“|”左边命令的执行结果作为“|”右边命令的输入。
例1:[root@localhost ~]# ls -lh /etc | more
(分页显示/etc目录下所有文件和子目录的详细信息。)
例2:[root@localhost ~]# ls -lh /etc | grep net
(显示/etc目录下包含有“net”关键字的所有文件和子目 录的详细信息。)
59、 Linux系统下的用户账户分为两种:
- 普通用户账户:在系统中只能进行普通工作,只能访问 他们拥有的或者有权限执行的文件。
- 超级用户账户(root):也叫管理员账户,它的任务是 对普通用户和整个系统进行管理。超级用户账户对系统具有绝对的控制权,能够对系统进行一切操作。