LInux常用到的命令(面试)
shell基础
帮助文档
man
--help
目录及文件的基本操作
intbjw@moew:~$ pwd
/home/intbjw
intbjw@moew:~$ cd /
intbjw@moew:/$ ls
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin snap srv sys tmp usr var
intbjw@moew:/$ ls -la
total 580
drwxr-xr-x 1 root root 512 Mar 27 10:27 .
drwxr-xr-x 1 root root 512 Mar 27 10:27 ..
drwxr-xr-x 1 root root 512 Mar 27 10:33 bin
drwxr-xr-x 1 root root 512 Mar 5 00:08 boot
drwxr-xr-x 1 root root 512 Mar 30 10:42 dev
drwxr-xr-x 1 root root 512 Mar 30 10:42 etc
drwxr-xr-x 1 root root 512 Mar 27 10:27 home
-rwxr-xr-x 1 root root 591344 Jan 1 1970 init
drwxr-xr-x 1 root root 512 Mar 29 16:30 lib
drwxr-xr-x 1 root root 512 Mar 4 23:53 lib64
drwxr-xr-x 1 root root 512 Mar 4 23:52 media
drwxr-xr-x 1 root root 512 Mar 27 10:27 mnt
drwxr-xr-x 1 root root 512 Mar 28 14:43 opt
dr-xr-xr-x 9 root root 0 Mar 30 10:42 proc
drwx------ 1 root root 512 Mar 27 16:08 root
drwxr-xr-x 1 root root 512 Mar 30 10:42 run
drwxr-xr-x 1 root root 512 Mar 29 16:30 sbin
drwxr-xr-x 1 root root 512 Oct 30 20:17 snap
drwxr-xr-x 1 root root 512 Mar 4 23:52 srv
dr-xr-xr-x 12 root root 0 Mar 30 10:42 sys
drwxrwxrwt 1 root root 512 Mar 30 10:53 tmp
drwxr-xr-x 1 root root 512 Mar 27 18:26 usr
drwxr-xr-x 1 root root 512 Mar 5 00:02 var
intbjw@moew:/$ cd home/intbjw/
intbjw@moew:~$ touch hello.txt
intbjw@moew:~$ mkdir test
intbjw@moew:~$ mkdir -p test/sdasd
intbjw@moew:~$ ls
KDD99-CNN hello.txt test
intbjw@moew:~$ tree
.
├── KDD99-CNN
│ ├── README.md
│ ├── ids_kdd99.ipynb
│ ├── ids_kdd99.py
│ ├── models
│ │ └── resnet
│ │ ├── assets
│ │ ├── saved_model.pb
│ │ └── variables
│ │ ├── variables.data-00000-of-00001
│ │ └── variables.index
│ ├── my_model.h5
│ ├── my_model28.h5
│ ├── run_mymodel.py
│ └── save_models
├── hello.txt
└── test
└── sdasd
8 directories, 10 files
intbjw@moew:~$ cp hello.txt hello.txt.bak
intbjw@moew:~$ rm hello.txt.bak
intbjw@moew:~$ mv hello.txt hello.doc
intbjw@moew:~$ mv hello.doc test/
intbjw@moew:~$ find -name hello.doc
./test/hello.doc
intbjw@moew:~$ du -sh /home/intbjw/
2.9G /home/intbjw/
intbjw@moew:~$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
rootfs lxfs 115G 102G 14G 89% /
none tmpfs 115G 102G 14G 89% /dev
none tmpfs 115G 102G 14G 89% /run
none tmpfs 115G 102G 14G 89% /run/lock
none tmpfs 115G 102G 14G 89% /run/shm
none tmpfs 115G 102G 14G 89% /run/user
cgroup tmpfs 115G 102G 14G 89% /sys/fs/cgroup
C:\ drvfs 115G 102G 14G 89% /mnt/c
D:\ drvfs 51G 31G 20G 61% /mnt/d
E:\ drvfs 138G 39G 99G 29% /mnt/e
F:\ drvfs 140G 11G 129G 8% /mnt/f
G:\ drvfs 140G 95G 45G 69% /mnt/g
查看文件内容
cat
more
less
head
tail
wc
grep
echo
命令别名
alias
unlias
环境变量
env
set
export
declare
排序命令
sort
uniq
wc
cat /etc/passwd | sort -t":" k -3
IO和重定向
0 1 2
stdout
多重指令
cmd;cmd cmd&&cmd cmd||cmd
vim
三种状态
安装包安装
rpm install
rpm -qa
rpm -Va
rpm erase
网络
ifconfig traceroute
scp 从远端->近端
ssh
rsync 同步,网络命令
namp
netcat
a:nc -lp port
b:nc ip port -c bash
wget curl ss
tcpdump iptables ping
SUID权限 S权限
file查看文件的类型
压缩及解压
gzip
gzip hello.txt
gzip -d hello.txt
bzip2
bzip2 hello.txt
bzip2 -d hello.txt
tar
tar -cf etc.tar /etc/
tar -czf boot.tar.gz /boot/
tar -xvf
命令使用技巧
善用Tab键
使用命令历史 !500
适时清屏 Ctrl+l或者clear
查找常用命令存储位置 which
账户与安全
useradd 创建新用户
groupadd 创建组用户
id 显示账户及组信息
passwd 更新账号认证信息
usermod 修改用户信息
userdel 删除账户及相关文件
groupdel 删除组账户
账户与组文件解析
cat /etc/passwd #账户信息
cat /etc/shadow #账户密码文件
cat /etc/group #组账户信息
cat /etc/gshadow#组账户密码
gpasswd admin
gpasswd -A mail admin
修改Linux文件属性
intbjw@moew:/$ ls -la
total 580
drwxr-xr-x 1 root root 512 Mar 27 10:27 .
drwxr-xr-x 1 root root 512 Mar 27 10:27 ..
drwxr-xr-x 1 root root 512 Mar 27 10:33 bin
drwxr-xr-x 1 root root 512 Mar 5 00:08 boot
drwxr-xr-x 1 root root 512 Mar 30 10:42 dev
drwxr-xr-x 1 root root 512 Mar 30 10:42 etc
drwxr-xr-x 1 root root 512 Mar 27 10:27 home
-rwxr-xr-x 1 root root 591344 Jan 1 1970 init
drwxr-xr-x 1 root root 512 Mar 29 16:30 lib
drwxr-xr-x 1 root root 512 Mar 4 23:53 lib64
drwxr-xr-x 1 root root 512 Mar 4 23:52 media
drwxr-xr-x 1 root root 512 Mar 27 10:27 mnt
drwxr-xr-x 1 root root 512 Mar 28 14:43 opt
dr-xr-xr-x 9 root root 0 Mar 30 10:42 proc
drwx------ 1 root root 512 Mar 27 16:08 root
drwxr-xr-x 1 root root 512 Mar 30 10:42 run
drwxr-xr-x 1 root root 512 Mar 29 16:30 sbin
drwxr-xr-x 1 root root 512 Oct 30 20:17 snap
drwxr-xr-x 1 root root 512 Mar 4 23:52 srv
dr-xr-xr-x 12 root root 0 Mar 30 10:42 sys
drwxrwxrwt 1 root root 512 Mar 30 10:53 tmp
drwxr-xr-x 1 root root 512 Mar 27 18:26 usr
drwxr-xr-x 1 root root 512 Mar 5 00:02 var
#权限主要分为读、写、执行三种控制
r(读权限)、w(写权限)、x(执行权限)
chgrp
chown #修改文件或目录的拥有者与所属组
chmod #修改文件属性
umask
chattr
进程查看
ps -l
ps -aux
资源管理器
top
系统服务
crontab #计时任务
kill #杀进程
等等
系统资源
free #查看内存
uname #核心
dmesg #分析核心
vmstat#系统资源变化
Awk
一种编程语言,用与在Linux/UNIX下对文本和数据进行扫描与处理,数据可以来自标准输入、文件、管道。
-
操作命令
-
记录与字段
#其中$1 指的是第一个字段 $0 全部字段 默认分割字符为空格和制表符 echo hello the world | awk '{print $1 $2 $3}'
-
字段分割符
#可以通过-F或FS变量来改变分隔符 awk -F: '{print $1}' /etc/passwd awk 'BEGIN {FS= ":"} {print $1}' /etc/passwd echo "hello the:world,"|awk 'BEGIN {FS= "[:, ]"} {print $1 $2 $3 }'
-
内置变量
ARGC 命令行参数个数 FILENAME 当前输入文档的名称 FNR 当前输入文档的当前记录编号,尤其是当有多个输入文档时有用 NR 输入流的编号 NF 当前记录的字段个数 FS 字段分隔符 OFS 输出字段分隔符,默认为空格 ORS 输出记录分隔符,默认为换行符\n RS 输入记录分隔符,默认为换行符\n
-
-
表达式和操作符
与C语言类似
screen
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
新建一个执行shell的全屏窗口
# screen
# screen vi test.txt
当发生断连的时候
可以使用下面的命令查看
# screen -ls
There are screens on:
8983.pts-0.ecs-sn3-medium-2-linux-20191204162102 (Detached)
8881.pts-0.ecs-sn3-medium-2-linux-20191204162102 (Attached)
2 Sockets in /var/run/screen/S-root.
# screen -r 8983
即可返回之前的界面,即使你的终端掉了。
未完待续
未完待续
一只土拨鼠。