Linux常用命令
1 前言
最近到了一家新的互联网公司实习,基本朝10晚10,而且来回公司和学校通勤时间总共得2个半小时,于是这段时间确实没有精力去写博客,但在新的公司累是累点,终归还是每天都在进步,这才是最关键的,虽然没有写博客,但在自己的印象笔记中也记了不少在公司向各位老哥们请教学到的知识,大周末的总结一波~
2 Linux常见命令
2.1 查看配置
参考:https://www.runoob.com/linux/linux-comm-df.html
df -ah ./
2.2 看文件夹情况
ls -lart
ll
ls
2.3 配置vim+使用
首先什么叫vim?简单点说,就是一个文本编辑器,可以支持在linux系统下直接使用vim打开文件进行编辑!
这时候直接一行命令即可,可以从github上下载vim的配置~
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
但这时候在linux或者小编自己的macOS很可能会报错下面的信息:
即电脑没有安装wget,那咋办呢?这时候可以采用两步法:
- 首先安装homebrew
一行命令即可:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后稍等个几分钟即可:
- 然后用homebrew安装wget
同样是一行命令即可:
brew install wget
这时候再反过头来去配置vim即可!具体见下图
那如何通过vim来编辑查看一个文件呢?
vim filename
就会显示如下界面~
- 按i是编辑状态
- 按esc退出某一状态
- 按 :wq 保存退出!
- 按 :wq! 以root权限保存退出
- 按:q! 不保存退出!所以w其实是write的含义!不写w意思就是不写入数据!
2.4 scp拷贝+查看当前路径位置
有时候我们需要和同事共享文件,或者说将文件移动到某一个位置,这时候就需要复制粘贴了,在linux可无法直接control+c或者control+v 而是采用命令scp:
scp file1 path1
这时候又有一个问题,如何看当前的路径呢?
pwd
完美!
- 注:有时候拷贝文件的时候可能会涉及到不同机器之间的拷贝传送,这时候需要加上机器的账号和地址!scp之后可能还需要输入机器对应的密码!
2.5 复制粘贴快捷键
有时候我们会从外部环境拷贝一个内容粘贴到linux环境下,这时候mac和windows电脑就会有差异了:
- mac:直接command+c/v即可
- windows:shift+insert
2.6 使用xshell上传下载文件
- 上传
rz
- 下载
sz
- 注意有一个bug就是在tmux状态下无法使用上述两个命令,需要先退出~
2.7 下载一个文件-get
上述提到了可以使用xshell的sz进行下载文件,但如果文件存在HDFS上,那么就不能这么干了,这时候可以采用get命令:
hadoop fs -get hdfs://filepath
2.8 查看文件的前n行
head -n 10 filename
- 上面命令就实现了看文件前10行!
2.9 神器 tmux
首先展示分屏效果,这简直完美,特别需要跑几个linux任务的时候
小技巧:
- tmux
- ctrl-b(松手) %
- 然后在一个屏幕中写命令 再切到另一个屏 切换命令为:
- ctrl-b(松手) 上下左右方向键
- 注1:切换一次就要按一次 ctrl-b
- 注2:tmux环境下不要进行文件上传的工作
如果macos没有安装咋办呢?一行命令解决问题:
brew install tmux
2.10 多个文件打包+解压
- 打包
tar -cvf newname.tar file1 file2
其中:
-
newname.tar可以换成自己想要命名的名字。
-
后面可以接多个文件,中间用空格隔开表示打包这些文件
-
解压
tar -xvf newname.tar
一顿操作猛如虎:
- 首先mkdir创建一个tmp文件
- 然后用cp命令将tar文件拷贝到tmp中
- 在tmp中进行解压
2.11 查看现在运行情况
top
如何退出top呢?
q
2.12 统计一个文件有多少行-wc
记得当时京东实习面试还被问到这个问题,如何用linux统计一个文件有多少行?当时一脸懵逼,其实还是对linux不熟悉~
wc -l filename
表明这个csv文件有16795行!实际也是!
2.13 查看linux磁盘+某一文件夹有多少容量
- 磁盘容量
df -ah ./
可以看到小编电脑容量快爆了…
- 查看一个文件夹下每个文件夹的容量
du -h ./filefold
3 macOS上基于终端使用linux命令
上面的实例均是基于macos终端实现的!
另外对于macos终端terminal可以做以下的操作让其更炫(其实是看起来更接近linux环境,更舒服)
参考
- macos安装wget:https://www.cnblogs.com/notfound/articles/8686951.html
- vim配置:https://blog.youkuaiyun.com/u010871058/article/details/54253774
- macos删除隐藏文件:https://blog.youkuaiyun.com/YUNFONG_Liao/article/details/79614589