1.怎么查看当前用户id?
id -u
命令详解:
id命令用于显示当前用户的UID,GID以及所属组的组列表,该命令的语法格式为:
id [选项] [用户名称]
该命令所使用的选项参数说明如下:
-g:显示用户所属群组的ID。
-G:显示用户所属附加群组的ID。
-n:显示用户所属组或附加组的名称。 eg: id -un(查看当前用户的用户名)
-r:显示实际ID。 eg:id -ur
-u:显示用户ID。
选项参数 n,r不能单独使用,因为没有办法区分是具体指的是哪个
2.查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?
who
who am i
命令详解:
who 显示当前正在登录系统的所有账户信息。格式如下:
who [-option]
whoami 显示当前shell的登录者信息,相当于执行“id -un”命令
3.Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
ls 执行的功能: 列出指定目录中的目录,以及文件
哪些参数以及区别: a 所有文件 l 详细信息,包括大小字节数,可读可写 可执行的权限等
命令详解:
ls
显示当前目录中的文件名和子目录名,使用方式如下:
ls [选项] [文件目录列表]
常用选项如下:
-a:显示所有文件及目录
-c:按列输出,纵向排序
-x:按列输出,横向排序
-l:除文件名外,也将文件类型、权限、拥有者、文件大小等信息详细列出
-t :根据文件建立时间的先后次序列出
-A :同 -a ,但不列出 “.” (目前目录) 及 “.." (父目录)
4.文件权限修改用什么命令?格式是怎么样的?
文件权限修改: chmod (改变文件或目录权限)
格式如下:
$ chmod u+x file 给 file 的属主增加执行权限
$ chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式 (rwx <——> 111,rx <——>101,x <——>001)
$ chmod =r file 为所有用户分配读权限
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限
命令详解:
用户:
a:所有用户
u:文件拥有者用户
g:与文件属主同组的用户
o:组外用户
权限:
r:读
w: 写
x: 执行
操作:
+:添加权限
-:删除权限
=:赋予权限
5.复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?
cp name1 name2
cp -r name1 name2
命令详解:
cp 复制文件或目录,命令格式如下:
cp [选项] 源文件 目标文件
cp [选项] 源文件组 目标目录
常用选项 说明
-a 在备份中保持尽可能多的源文件结构。
-b 作将要覆盖或删除文件的备份。
-f 删除已存在的目标文件。
-i 提示是否覆盖已存在的目标文件。
-p 保持原先文件的所有者,组权限和时间标志。
-r 递归拷贝目录,把所有非目录文件当普通文件拷贝。
-R 递归拷贝目录。
6.移动文件用哪个命令?改名用哪个命令?
mv name1 name2
命令详解:
mv 移动文件,mv命令还可改文件名,即把源文件以一个新文件名移动到另一个新的目录中去。该命令所使用语法形式有:
mv [-f] [-i] 文件1 文件2
mv [-f] [-i] 目录1 目录2
mv [-f] [-i] 文件列表 目录
命令中的参数说明如下:
-f:通常情况下,目标文件存在但用户没有写权限时,mv会给 出提
示。本选项会使mv命令执行移动而不给出提示。
-i:交互模式,当移动的目录已存在同名的目标文件名时,用 覆盖
方式写文件,但在写入之前给出提示。
文件1: 源文件名。
文件2:目标文件名(新文件名)。
目录1:源目录名。
目录2:目标目录名(新目录名)。
文件列表:用空格分隔的文件名列表。本选项用于文件保持它们的名字被移动到一个新目录。
目录:目标目录
7.删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
rm name
rm -r
rmdir name
命令详解:
rm 删除文件及整个目录。rm命令所使用的命令格式如下:
rm [选项] 文件列表
常用选项 说 明
-r 删除文件列表中指定的目录,若不用此标志则不删除目录。
-I(大写i) 指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他则表示否定。
-f 指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。
-v 在删除前回显文件名。
-- 指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为-f的文件,又打算删除它,命令rm -f不起任何作用,因为-f被解释成标志而不是文件名;而命令rm -- -f能成功地删除文件。
8.Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
“?”可替代单个字符。 ·“*”可替代任意多个字符。 ·方括号“[charset]”可替代 charset 集中的任何单个字符,如[a-z],[abABC]
9.搜索文件用什么命令? 格式是怎么样的?
find
find [目标目录] [-name] name
命令详解:
find 查找文件,语法格式如下:
find [目录列表] [匹配标准]
在命令格式中有两个参数,说明如下:
目录列表:希望查询文件或文件集的目录列表,目录间用空格分隔。
匹配标准:希望查询的文件的匹配标准或说明。详细的匹配标准如下表。
表达式 | 说 明 |
-name文件 | 告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?) |
-perm模式 | 匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式外的所有模式。 |
-type x | 匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。 |
-links n | 匹配所有连接数为n的文件。 |
-user用户号 | 匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。 |
-atime n | 匹配所有在前n天内访问过的文件。 |
-mtime n | 匹配所有在前n天内修改过的文件。 |
-newer文件 | 匹配所有修改时间比file文件更新的文件。 |
-size n | 匹配所有大小为n 块的文件(512字节块,若k在n后,则为1K字节块)。 |
| 显示整个文件路径和名称。一般来说,都要用-print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。 |
eg:
根据文件名查找 find / –name *http*
知道一个文件尺寸小于为2500bytes,可使用如下命令查找:find /etc –size -2500c –print
10.查看文件内容有哪些命令可以使用?
vi 文件名 #编辑方式查看,可修改
cat 文件名 #显示全部文件内容
more 文件名 #分页显示文件内容
less 文件名 #与 more 相似,更好的是可以往前翻页
tail 文件名 #仅查看尾部,还可以指定行数
head 文件名 #仅查看头部,还可以指定行数
命令详解:
cat 显示文本文件内容,语法格式如下:
cat [选项] 文件列表
选 项 | 说 明 |
-b | 计算所有非空输出行,开始为1。(在每一行非空行前加上行号) |
-e | 在每行末尾显示$符号。 |
-n | 计算所有输出行,开始为1。 |
-s | 将相连的多个空行用单一空行代替。 |
11.Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。
grep [string] filename
grep -i [string] filename
grep [^string] filename 或者 grep -v [string] filename
命令详解:
grep查找文件内容,语法格式如下:
grep [选项] 匹配字符串 文件列表
选项 说明
-v 列出不匹配串或正则表达式的行。
-c 对匹配的行计数。
-l 只显示包含匹配的文件的文件名。
-h 抑制包含匹配文件的文件名的显示
-n 每个匹配行只按照相对的行号显示。
-i 产生不区分大小写的匹配,缺省状态是区分大小写。
12. 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)?
wc 命令 - c 统计字节数。 - l 统计行数。 - w 统计字数。
命令详解:
wc wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。wc命令使用的语法格式如下:
wc [选项] 文件列表
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下:
-c:统计字节数。
-l:统计行数。
-w:统计字数。
13.目录创建用什么命令?创建文件用什么命令?
创建目录: mkdir 目录名称
创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件
命令详解:
mkdir 创建目录。该命令的语法格式如下:
mkdir [-m模式] [-p目录名] 目录
命令中的参数说明如下:
-m模式:在建立目录时把按模式指定设置目录权限。该目录的权限分为:目录所有者的权限、组中其他人对目录的权限和系统中其他人对目录的权限。这三个权限分别用三个数字之和来表示:对目录的读权限是4、写权限是2、执行权限是1。
-p目录名:建立所有不存在父目录的目录。(递归创建目录,eg:mkdir -p haha/aa 创建haha,并在haha目录下创建 aa目录)
目录:要建立的目录
rmdir 删除目录。一般情况下要删除的目录必须为空目录,如果所给的目录不为空,系统会报告错误。。该命令的语法格式如下:
rmdir -p 目录列表
命令中的参数说明如下:
-p:在删除目录表指定的目录后,若父目录为空,则rmdir也删除父目录。状态信息显示什么被删除,什么没被删除。
目录列表:空格分隔的目录名列表。要删除的目录必须为空。
14.怎么查看当前进程?怎么执行退出?怎么查看当前路径?
查看当前进程: ps
执行退出: exit
查看当前路径: pwd
15.怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
清屏: clear
退出当前命令: ctrl+c 彻底退出
执行睡眠 : ctrl+z 挂起当前进程 fg 恢复后台
查看当前用户 id: ”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名
查看指定帮助: 如 man adduser 这个很全 而且有例子; adduser --help 这个告诉你一些常用参数; info adduesr;
16.通过什么命令查找执行命令?
whereis
whereis 主要功能是寻找一个命令所在的位置。例如,最常用的ls命令,它是在/bin这个目录下的。如果希望知道某个命令存在哪一个目录下,可以用whereis命令来查询。该命令的一般形式为:
whereis [选项] 命令名
说明:一般直接使用不加选项的whereis命令,但用户也可根据特殊需要选用它的一些选项。
17.查看各类环境变量用什么命令?
查看所有 env
查看某个,如 home: env $HOME
命令详解:
显示环境变量命令:env
常见环境变量:
HISTFILE: 用于贮存历史命令的文件。
HISTSIZE: 历史命令列表的大小。
HOME: 当前用户的用户目录。
OLDPWD: 前一个工作目录。
PATH: bash寻找可执行文件的搜索路径。
PS1: 命令行的一级提示符。
PS2: 命令行的二级提示符。
PWD: 当前工作目录。
SECONDS: 当前shell开始后所流逝的秒数.
18.命令的输入和输出
在Linux系统中,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件也都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
输入重定向:
输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。
命令<文件名
例如:
adduser temp < p.txt
输出重定向:
输出重定向是指把命令(或可执行程序)的标准输出或标准错误输
出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上。
输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入(还有一种更简单的方法,就是使用管道)。 输出重定向的一般形式为:
命令>文件名
为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。 可以使用追加重定向操作符“>>”,其使用语法形式为:
命令>>文件名
管道:
将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起;另一种是Linux所提供的管道功能。这种方法比前一种方法更好。
管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。
命令1|命令2
命令替换:
将一命令替换和重定向有些相似,但区别在于命令替换是将一个命令的输出作为另外一个命令的参数。常用命令格式为:
command1 `command2`
其中,command2的输出将作为command1的参数。需要注意的是这里的反引号`,被它括起来的内容将作为命令执行,执行后的结果作为command1的参数。
例如: cd `pwd`
该命令将pwd命令列出的目录作为cd命令的参数,结果仍然是停留在当前目录下。
啦啦啦啦啦啦,终于写完了,本文参考:linux面试常问命令