Linux 面试 Linux 常考命令

约翰 · 2020年12月15日 · 最后由 约翰 回复于 2020年12月16日 · 431 次阅读

1.文件操作:
cd
cd - 返回上一次目录
ls 显示全部文件列表
ll -ls 显示全部文件列表
pwd (print work directory) 显示当前目录
touch filename 创建文件
rm filename 删除文件
mv filename 移动文件
cp 拷贝文件
mkdir 创建目录
rmdir 删除目录
cat >>filename 往某个文件中写内容
vim filename 编辑文件
find . -name "*.log" 在当前目录下查找以.log 结尾的文件
tar -cvf file.tar file 压缩 file 为 tar 格式
tar -xvf file.tar file 解压缩 tar 格式
unzip file.zip 解压缩 zip 文件夹
more 翻页
less 翻页,可向前翻页
head -n 10 filename 显示前 10 行内容
tail -fn 100 filename 展示后 100 行内容
ln filename 显示出行号
【cat filename | grep co | wc -l 】统计含有 co 的 行数
【grep -o co filename | wc -l 或:cat filename | grep -o co |wc -l 】可以用这个来统计与 co 匹配的单词数
grep -o (-o 表示 “only-matching”,即 “仅匹配” 之意)

grep -C 5 foo filename 显示匹配 foo 字符串的行以及上下 5 行内容
grep -A 5 foo filename 显示 foo 及前 5 行
grep -B 5 foo filename 显示 foo 及后 5 行
cat tomcat.log | grep "success" 搜索 tomcat.log 文件中 success 字符串

2.权限:
sudo su admin 切换到 admin 用户
chmod 777 filename 给某个文件赋予 777 权限
chown yuehan:staff filename 给某个文件的所属用户组设置为:yuehan:staff

3.网络操作:
curl www.baidu.com --get 请求 baidu
curl -XPOST "www.baidu.com" -d "{json}" -H "Content-type:application/json" --POST 请求 baidu
lsof -i:3306 查看 3306 端口对应的进程 (list open file)

4.远程拷贝
scp /home/yuehan/a.txt yuehan@100.11.11.11:/home/yuehan/b.txt --将本地 a.txt 拷贝到远程服务器上命名为 b.txt
scp yuehan@100.11.11.11:/home/yuehan/b.txt /home/yuehan/a.txt --将远程服务器上 b.txt 拷贝到本地命名为:a.txt

5.git 命令:
git clone git@.... 拷贝代码到本地
git pull 拉取代码
git push origin master 将代码上传到 master 分支
git commit -m "beizhu" 提交代码前写备注信息
git checkout dev/xxx 切换到某个分支
git stash 保存未提交的代码
git branch -a 列出所有分支
git add * 将所有添加到栈中
git fetch origin master 获取 master 代码
git merge origin/master 将远程代码与本地合并
git reset --hard origin/master 放弃本地修改,强制更新
git reset --hard commit-id :回滚到 commit-id,讲 commit-id 之后提交的 commit 都去除
git reset --hard HEAD~3:将最近 3 次的提交回滚

6.系统管理命令:
stat 展示指定文件的详细信息
who 当前登录用户
whoami 当前操作用户
history 展示历史操作命令
Linux 下查看 tcp 连接数及状态命令:netstat -n | awk '/tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看 tomcat 进程号:ps aux | grep tomcat
杀死进程:kill -9 ***

7.sed:
1) sed -i "s/old/new/g" filename 将 old 字符串替换成 new
2) sed -n '5,10p' filename 查找文件中第 5-10 行的内容

8.awk
1) awk 'NR>4&&NR<9' filename 查找文件中第 5-10 行的内容 (NR 代表的是这个文本文件的行数(记录数)number of record,NF 代表的是一个文本文件中一行(一条记录)中的字段个数)

共收到 2 条回复 时间 点赞

【cat filename | grep co | wc -l 统计 co 的单词数】这个应该是统计含有 co 的 行数
【grep -o co filename | wc -l】可以用这个来统计与 co 匹配的单词数

感谢纠正!1

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册