Linux Shell Flashcards Preview

CTF > Linux Shell > Flashcards

Flashcards in Linux Shell Deck (94):
1

查看系统安装了哪些shell

cat /etc/shells

2

查看当前使用的shell

echo $SHELL

3

查看ls的帮助信息

man ls
ls --help
help ls

4

改变file1文件的属性为全权限(假设此时file1的权限为rw-rw-rw-
请使用三种方法

chmod 777 file1
chmod a+x file1
chmod u=rwx g=rwx o=rwx file1

5

/代表什么
/root是根目录吗
.代表什么
..代表什么

/代表根目录
/root是root用户的主目录
.代表当前目录
..代表上层目录

6

请说出umask为0022的权限

umask是默认权限的掩码
u:rwx
g:rx
o:rx

7

启动图形界面

startx

8

列出从根目录查找文件ls的五种方法

which ls #搜索命令
type ls
whereis ls #搜索二进制文件,说明文件,源代码文件
find / -name ls #硬盘查找,费硬盘
locate ls #配合数据库搜索,更新数据库:updatedb

9

查询目前和你使用同一机器的有那些人及login时间地点

who

10

把1.txt 2.txt 3.txt 合并成一个文件4.txt

cat 1.txt 2.txt 3.txt > 4.txt

11

查询当前目录

pwd

12

切换目录

cd
cd / 切换到根目录
cd .. 切换到上级目录
cd ~ 切换到主目录

13

在yum.log定位hello字符串并显示行号

grep -n hello yum.log
grep 支持正则语法

14

让用户与其他用户聊天,比如想和正在使用192.168.1.3计算机的hijack聊天

talk,如果是中文就ctalk
ctalk hijack@192.168.1.3

15

复制1.txt ,新文件名为2.txt
递归复制 hello文件夹及内部文件,新文件夹叫hello2

cp 1.txt 2.txt
cp -r hello hello2

16

查看text内容,不用cat

less text
more text

17

端口转发,使得用户访问本机的3390端口可以访问到192.168.1.8的3389端口

本机设置:
socat TCP4-LISTEN:3390,reuseaddr,fork TCP4:192.168.1.8:3389

18

向hello.txt中下一行追加字符串'hello hijack'
用'hello world'覆盖hello.txt

echo 'hello hijack' >> hijack.txt
echo 'hello world' > hijack.txt

19

创建目录
一次性递归地创建一堆目录(如cn/shandong/jinan)

mkdir
mkdir -p cn/shandong/jinan

20

显示每个文件和目录的磁盘使用空间

du -h

21

改变文件file1的属主为hijack
同时改变文件file1的属组和属主(ghijack组,hijack)
改变文件file1的属组为ghijack

chown hijack file1
chown hijack.ghijack file1
chgrp ghijack file1

22

查看linux发行版本

lsb_release -a

23

查看linux内核信息

uname -r

24

创建新组

group add

25

清空文件hello.txt内容

>hello.txt

26

登陆ssh后创建一个screen,名字叫msfscreen
然后挂起这个screen
查看都有哪些screen
再恢复这个screen

screen -S screenmsf
挂起:ctrl+a,然后d,如果是k就是直接杀掉

恢复:先挂起当前的,screen [-x] -r id号
screen -ls 查看活动的screen

27

把一个big5编码的文件hello转化为utf8文件hello1

iconv -f big5 -t utf8 hello -o hello1
iconv -f 原编码 -t 新编码 源文件 -o 新文件

28

统计文件hello的行数、单词数、字节数

wc hello

29

hijack@hijack-owncloud:~$ 中的~是什么意思

当前用户的home目录

30

dpkg -L 软件包名
dpkg --search 文件
分别是什么意思

dpkg -L 软件包名:显示所有相关文件列表
dpkg --search 文件:显示文件所属哪个软件包

31

请说出/etc/passwd中
root:x:0:0:root:/root:/bin/bash中各项的意义

登陆用户名:密码:UID:组ID:备注字段:Home目录:默认shell

32

用ssh把本地/root/hello.txt上传到192.168.1.8(用户为root)的/opt/hello.txt上

用ss把192.168.1.8(用户为root)的/opt/hello.txt下载到本地/root/hello.txt

scp 源文件 目的地
scp /root/hello.txt root@192.168.1.8:/opt/hello.txt
scp root@192.168.1.8:/opt/hello.txt /opt/hello.txt

33

说出SUID,SGID,SBIT的意义
并说出三中权限的分数及如何设置

SUID(-rwsr-xr-x):执行时临时拥有主人权限
SGID(rwxrwsr-x):执行时临时拥有属组权限,对于目录的话,在此目录下新建的文件属组为此目录的属组
SBIT(drwxrwxrwt)针对目录:只有文件/目录的所有者和root才能删除

SUID:4
SGID:2
SBIT:1
chmod 7777 file
chmod u+s/g+s/o+t

34

提交和管理用户的需要周期性执行的任务

crontab

35

删除用户hj

userdel -r hj
-r:删除的同时连同hj的home目录也删掉

36

查看gz文本内容

gzcat

37

linux用户的密码存储在哪里

/etc/shadow

38

修改网卡eth0的ip为192.168.1.8

ifconfig eth0 192.168.1.8

39

创建一个空隐藏文件

touch .file1

40

显示用户信息

finger hijack

41

hello的路径为/root/opt/hello
我想打印上层路径,即/root/opt该怎么做
我想打印本身文件名,不包括上层路径,即hello,该怎么做

dirname /root/opt/hello
basename /root/opt/hello

42

把组名ga改为gb

groupmod -n gb ga

43

查看hello文件的树结构

tree hello/

44

看网关

route -n

45

怎样查看文件隐藏属性
怎样修改文件隐藏属性

lsattr
chattr

46

有一张图片hello.jpg
如何使用vim来编辑这张图片的16进制

vim hell.jpg -b
:%!xxd
编辑完:%!xxd -r还原二进制,然后:wq

47

如何查看文件file1的sha和md5的校验和

shasum file1
md5sum file1

48

查看有那些组

cat /etc/group

49

在shell中如果命令太长,一行放不下怎么办

使用\来跳脱回车键

50

查看text.txt内容
查看文件text.txt内容,并显示行号
查看文件text.txt内容,不显示制表符

cat text.txt
cat -n text.txt
cat -T text.txt

51

批量修改用户密码

chpasswd < users.txt
(user.txt中的格式为username:password)

52

挂载设备
把/dev/sdb1设备挂载到/media/disk目录上
写在已挂载的设备

mount
mount /dev/sdb1 /media/disk
umount /media/disk

53

显示Linux中的任务列表及任务状态

jobs

54

修改用户基本信息

usermod

55

将tar.gz文件解压缩

tar -zxvf /opt/soft/test/log.tar.gz

56

查看挂载磁盘的使用情况

df -h

57

用户修改自己的密码为12345

passwd 12345

58

查看hello文件的开头8行

head -8
head没有-f参数

59

杀掉进程

kill 进程号(PID)
kill -9 PID #更好地杀掉

60

查看当前进程状态

ps
ps --forest 查看父子shell关系
ps -f 查看PID及父进程PPID

61

查看历史的命令
查看最近8条历史的命令
使用历史命令的168号命令
使用上一条命令

history
history 8
!168
!!

62

如何查看初始默认权限
如何设置初始默认权限使得组用的写权限,其他用户的读、写、执行权限都被取消

umask
umask 0027

umask u=,g=w,o=rwx

63

将作业放到后台运行
将后台作业放到前台

bg或结尾加上&
fg

64

使用进程的名称来杀死一组进程

killall 名称

65

移动文件1.txt到2.txt

mv 1.txt 2.txt

66

三天后的下午5点执行/bin/ls
查看系统没有执行的工作任务
删除已经设置的任务

hijack@hijack-owncloud:~$at 5pm+3days
at>/bin/ls
at>

atq

atrm 任务号

67

实时监测进程

top

68

一条shell命令为sdkfjlsdjfsdfhlsdjf
h为光标覆盖位置
怎样删除光标前面的字符,包括h本身吗
怎样删除光标后面的字符,包括h本身吗

Ctrl+u:删除光标之前(不包括h)
Ctrl+k:删除光标之后(包括h)

69

修改默认shell为/bin/zsh

chsh -s /bin/zsh

70

用户的一些基本属性在哪里

/etc/passwd

71

把hijack添加到组ga中

usermod -G ga hijack

72

自动在系统空闲的时候执行指定的任务

batch

73

强制删除
删除目录
递归删除目录
一口气全删

rm -f
rmdir
rm -r 文件夹
rm -rf 文件夹

74

shell登陆linux后切换到另一个tty终端接口

Ctrl+Alt+F2~F6
切换到图形界面Ctrl+Alt+F1或F7

75

从字符设备/dev/zero创建一个2M大小的文件sun.txt

dd if=/dev/zero of=sun.txt bs=1M count=2

76

修改finger信息

chfn

77

什么是软链接
什么是硬链接

软链接相当于win下的快捷方式。建立:ln -s data sl_data
硬链接:与源文件是同一个文件,同inode。创建:ln hl_data

78

读、写、执行的分数分别是多少

r:4 w:2 x:1 -:0

79

请说出rwx权限对于文件与目录的区别

对于文件:
r:读取文件
w:可修改文件内容,但不能删除文件
x:执行该文件

对于目录:
r:可查询目录结构(ls)
w:可对目录下的文件进行删除,重命名,转移,新建等
x:进入该目录,是指成为工作目录

80

设置允许系统用户将信息显示在我的屏幕上
设置不允许系统用户将信息显示在我的屏幕上

mesg y
mesg n

y表示允许向当前终端写信息,n表示禁止向当前终端写信息。

81

查看hello.txt末尾8行
如果要使用该方法实时监视log文件,加什么参数

tail text -8
tail -f log

82

新建用户

useradd

83

管道符的使用,当输出需要当作命令行参数怎么办

使用xargs
echo 'hello'|xargs touch #touch hello

84

显示所有用户正在运行的进程

ps aux

85

我想把文件file中的内容按照英文字母排序
去重排序呢?

sort file
sort -u file

86

双引号有解析功能还是单引号有解析功能?

双引号有解析功能
var="lang is $LANG" 其实是lang is zh_ch.utf-8
var='lang is $LANG' 就只是lang is $LANG

87

创建一个变量m,赋值为6
再把这个变量变为全局变量
此时如果在子shell中修改m变量为7,那么全局变量中的m是多少?
如果在子shell中修改m变量为7,然后export m,此时全局变量中m是多少

m=6
export m
全局变量m=6
还是6

88

删除变量m

unset m

89

我想把/hj加到环境变量里面
我想把当前路径加到环境变量里面

PATH=$PATH:/hj
PATH=$PATH:.

90

我写了一个脚本start.sh,想要开机启动,应该放在哪里

/etc/profile.d

91

一条命令按顺序依次执行pwd ls cd /etc

pwd;ls;cd /etc

92

写出if条件语句公式

if [ 条件 #条件前后要有空格
then
command
fi

93

写出for循环语句公式

for var in list#这里的list不用括号,空格隔开
do
commands
done

94

写出while循环公式

while test commands
do
other commands
done