Linux Shell Flashcards
查看系统安装了哪些shell
cat /etc/shells
查看当前使用的shell
echo $SHELL
查看ls的帮助信息
man ls
ls –help
help ls
改变file1文件的属性为全权限(假设此时file1的权限为rw-rw-rw-
请使用三种方法
chmod 777 file1
chmod a+x file1
chmod u=rwx g=rwx o=rwx file1
/代表什么
/root是根目录吗
.代表什么
..代表什么
/代表根目录
/root是root用户的主目录
.代表当前目录
..代表上层目录
请说出umask为0022的权限
umask是默认权限的掩码
u:rwx
g:rx
o:rx
启动图形界面
startx
列出从根目录查找文件ls的五种方法
which ls #搜索命令 type ls whereis ls #搜索二进制文件,说明文件,源代码文件 find / -name ls #硬盘查找,费硬盘 locate ls #配合数据库搜索,更新数据库:updatedb
查询目前和你使用同一机器的有那些人及login时间地点
who
把1.txt 2.txt 3.txt 合并成一个文件4.txt
cat 1.txt 2.txt 3.txt > 4.txt
查询当前目录
pwd
切换目录
cd
cd / 切换到根目录
cd .. 切换到上级目录
cd ~ 切换到主目录
在yum.log定位hello字符串并显示行号
grep -n hello yum.log
grep 支持正则语法
让用户与其他用户聊天,比如想和正在使用192.168.1.3计算机的hijack聊天
talk,如果是中文就ctalk
ctalk hijack@192.168.1.3
复制1.txt ,新文件名为2.txt
递归复制 hello文件夹及内部文件,新文件夹叫hello2
cp 1.txt 2.txt
cp -r hello hello2
查看text内容,不用cat
less text
more text
端口转发,使得用户访问本机的3390端口可以访问到192.168.1.8的3389端口
本机设置:
socat TCP4-LISTEN:3390,reuseaddr,fork TCP4:192.168.1.8:3389
向hello.txt中下一行追加字符串’hello hijack’
用’hello world’覆盖hello.txt
echo ‘hello hijack’»_space; hijack.txt
echo ‘hello world’ > hijack.txt
创建目录
一次性递归地创建一堆目录(如cn/shandong/jinan)
mkdir
mkdir -p cn/shandong/jinan
显示每个文件和目录的磁盘使用空间
du -h
改变文件file1的属主为hijack
同时改变文件file1的属组和属主(ghijack组,hijack)
改变文件file1的属组为ghijack
chown hijack file1
chown hijack.ghijack file1
chgrp ghijack file1
查看linux发行版本
lsb_release -a
查看linux内核信息
uname -r
创建新组
group add
清空文件hello.txt内容
> hello.txt
登陆ssh后创建一个screen,名字叫msfscreen
然后挂起这个screen
查看都有哪些screen
再恢复这个screen
screen -S screenmsf
挂起:ctrl+a,然后d,如果是k就是直接杀掉
恢复:先挂起当前的,screen [-x] -r id号
screen -ls 查看活动的screen
把一个big5编码的文件hello转化为utf8文件hello1
iconv -f big5 -t utf8 hello -o hello1
iconv -f 原编码 -t 新编码 源文件 -o 新文件
统计文件hello的行数、单词数、字节数
wc hello
hijack@hijack-owncloud:~$ 中的~是什么意思
当前用户的home目录
dpkg -L 软件包名
dpkg –search 文件
分别是什么意思
dpkg -L 软件包名:显示所有相关文件列表
dpkg –search 文件:显示文件所属哪个软件包
请说出/etc/passwd中
root:x:0:0:root:/root:/bin/bash中各项的意义
登陆用户名:密码:UID:组ID:备注字段:Home目录:默认shell
用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
说出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
提交和管理用户的需要周期性执行的任务
crontab
删除用户hj
userdel -r hj
-r:删除的同时连同hj的home目录也删掉
查看gz文本内容
gzcat
linux用户的密码存储在哪里
/etc/shadow
修改网卡eth0的ip为192.168.1.8
ifconfig eth0 192.168.1.8
创建一个空隐藏文件
touch .file1
显示用户信息
finger hijack
hello的路径为/root/opt/hello
我想打印上层路径,即/root/opt该怎么做
我想打印本身文件名,不包括上层路径,即hello,该怎么做
dirname /root/opt/hello
basename /root/opt/hello
把组名ga改为gb
groupmod -n gb ga
查看hello文件的树结构
tree hello/
看网关
route -n
怎样查看文件隐藏属性
怎样修改文件隐藏属性
lsattr
chattr
有一张图片hello.jpg
如何使用vim来编辑这张图片的16进制
vim hell.jpg -b
:%!xxd
编辑完:%!xxd -r还原二进制,然后:wq
如何查看文件file1的sha和md5的校验和
shasum file1
md5sum file1
查看有那些组
cat /etc/group
在shell中如果命令太长,一行放不下怎么办
使用\来跳脱回车键
查看text.txt内容
查看文件text.txt内容,并显示行号
查看文件text.txt内容,不显示制表符
cat text.txt
cat -n text.txt
cat -T text.txt
批量修改用户密码
chpasswd < users.txt
user.txt中的格式为username:password
挂载设备
把/dev/sdb1设备挂载到/media/disk目录上
写在已挂载的设备
mount
mount /dev/sdb1 /media/disk
umount /media/disk
显示Linux中的任务列表及任务状态
jobs
修改用户基本信息
usermod
将tar.gz文件解压缩
tar -zxvf /opt/soft/test/log.tar.gz
查看挂载磁盘的使用情况
df -h
用户修改自己的密码为12345
passwd 12345
查看hello文件的开头8行
head -8
head没有-f参数
杀掉进程
kill 进程号(PID)
kill -9 PID #更好地杀掉
查看当前进程状态
ps
ps –forest 查看父子shell关系
ps -f 查看PID及父进程PPID
查看历史的命令
查看最近8条历史的命令
使用历史命令的168号命令
使用上一条命令
history
history 8
!168
!!
如何查看初始默认权限
如何设置初始默认权限使得组用的写权限,其他用户的读、写、执行权限都被取消
umask
umask 0027
或
umask u=,g=w,o=rwx
将作业放到后台运行
将后台作业放到前台
bg或结尾加上&
fg
使用进程的名称来杀死一组进程
killall 名称
移动文件1.txt到2.txt
mv 1.txt 2.txt
三天后的下午5点执行/bin/ls
查看系统没有执行的工作任务
删除已经设置的任务
hijack@hijack-owncloud:~$at 5pm+3days
at>/bin/ls
at>
atq
atrm 任务号
实时监测进程
top
一条shell命令为sdkfjlsdjfsdfhlsdjf
h为光标覆盖位置
怎样删除光标前面的字符,包括h本身吗
怎样删除光标后面的字符,包括h本身吗
Ctrl+u:删除光标之前(不包括h)
Ctrl+k:删除光标之后(包括h)
修改默认shell为/bin/zsh
chsh -s /bin/zsh
用户的一些基本属性在哪里
/etc/passwd
把hijack添加到组ga中
usermod -G ga hijack
自动在系统空闲的时候执行指定的任务
batch
强制删除
删除目录
递归删除目录
一口气全删
rm -f
rmdir
rm -r 文件夹
rm -rf 文件夹
shell登陆linux后切换到另一个tty终端接口
Ctrl+Alt+F2~F6
切换到图形界面Ctrl+Alt+F1或F7
从字符设备/dev/zero创建一个2M大小的文件sun.txt
dd if=/dev/zero of=sun.txt bs=1M count=2
修改finger信息
chfn
什么是软链接
什么是硬链接
软链接相当于win下的快捷方式。建立:ln -s data sl_data
硬链接:与源文件是同一个文件,同inode。创建:ln hl_data
读、写、执行的分数分别是多少
r:4 w:2 x:1 -:0
请说出rwx权限对于文件与目录的区别
对于文件:
r:读取文件
w:可修改文件内容,但不能删除文件
x:执行该文件
对于目录:
r:可查询目录结构(ls)
w:可对目录下的文件进行删除,重命名,转移,新建等
x:进入该目录,是指成为工作目录
设置允许系统用户将信息显示在我的屏幕上
设置不允许系统用户将信息显示在我的屏幕上
mesg y
mesg n
y表示允许向当前终端写信息,n表示禁止向当前终端写信息。
查看hello.txt末尾8行
如果要使用该方法实时监视log文件,加什么参数
tail text -8
tail -f log
新建用户
useradd
管道符的使用,当输出需要当作命令行参数怎么办
使用xargs
echo ‘hello’|xargs touch #touch hello
显示所有用户正在运行的进程
ps aux
我想把文件file中的内容按照英文字母排序
去重排序呢?
sort file
sort -u file
双引号有解析功能还是单引号有解析功能?
双引号有解析功能
var=”lang is $LANG” 其实是lang is zh_ch.utf-8
var=’lang is $LANG’ 就只是lang is $LANG
创建一个变量m,赋值为6
再把这个变量变为全局变量
此时如果在子shell中修改m变量为7,那么全局变量中的m是多少?
如果在子shell中修改m变量为7,然后export m,此时全局变量中m是多少
m=6
export m
全局变量m=6
还是6
删除变量m
unset m
我想把/hj加到环境变量里面
我想把当前路径加到环境变量里面
PATH=$PATH:/hj
PATH=$PATH:.
我写了一个脚本start.sh,想要开机启动,应该放在哪里
/etc/profile.d
一条命令按顺序依次执行pwd ls cd /etc
pwd;ls;cd /etc
写出if条件语句公式
if [ 条件 #条件前后要有空格
then
command
fi
写出for循环语句公式
for var in list#这里的list不用括号,空格隔开
do
commands
done
写出while循环公式
while test commands
do
other commands
done