平常用用到的ls的命令就不列举了,列举些平时不用则以,用到方恨少的命令。。。
1. 远程服务器的上传下载文件
假设远程的 Ubuntu 主机已经安装了 SSH 服务
1.1 scp上传文件
scp -r localfile username@192.168.0.1:/home/username/
本地主机 文件/目录 的位置 : localfile
远程 Ubuntu 主机 : 192.168.0.1
远程 Ubuntu 主机上要存放的位置 :/home/username/
1.2 scp从服务器下载文件
scp username@servername:/path/filename /tmp/local_destination
例如
scp icecream@192.168.0.101:/home/icecream/test.txt ./mnt
把服务器192.168.0.101的/home/icecream/test.txt下载到当前目录mnt中
2. Windows NFS在linux上挂载
在PC机上先要打开NFS:
1、打开控制面板。
2、查看方式—->大图标 —>>程序和功能
3、点击进入。
4、接下来选择左侧的“打开或关闭Windows功能。
5、弹出Windows功能窗口,找到功能列表中的NFS服务,然后勾选该选项下的所有选项,点击“确定”按钮,保存设置。
6、弹出修改进度框,更改成功后会自动关掉,到此NFS服务就开启了。
PC机的文件放到 我的文档FreeNFS 这个文件夹里面,
在板子上可以执行下面的命令,IP,换成你PC机的ip,挂载上后,就可以在板子的/mnt目录看到你PC机上的文件了
busybox mount -t nfs 192.168.0.101:/ /mnt -o nolock
3. samba 挂载
先把ubuntu系统上把samba相关服务开启后,再在板子上挂载,才可以成功。
在板子上挂载samba时,可以执行以下命令。
busybox mount -t cifs //pcIp/rootpath localpath -o username="username",password="passwd;",iocharset=utf8
例如:
busybox mount -t cifs //192.168.1.44/home /mnt -o username="icecream",password="12345678;",iocharset=utf8
4. 清理caches
由于有些系统开机时要加载的东西多,有些ko要分配内存时,分配不到内存,加载失败,所以在分配前先清理一下caches(在Android系统遇到过,用如下的办法解决,有加载ko前,执行如下)
sync //防止数据丢失
echo 3 > /proc/sys/vm/drop_caches
5. 用sed整理下文件的空格及tab键
# 用4个空格替代tab键
sed -i 's/\t/ /g' filename
# 把尾随的tab与空格都去掉
sed -i 's/[ \t]*$//' filename
搭配文件可以这样表示,如下,去掉当前目录下所有后缀名为java的文件的tab键替换成空格,以及将文件的尾随空格,及tab键都去掉
find -name "*.java"|xargs sed -i 's/\t/ /g'
find -name "*.java"|xargs sed -i 's/[ \t]*$//'
如以上方式也可以直接使用astyle命令去执行,这个的功能更加强大
6. tar压缩及解压常用命令
6.1 打包一个目录,但不想要目录的某些目录下打包进来,可以这样做,加个–exclude=你不想要打包的目录,常用到的打包Android跟kernel时,不想要同时打包.git目录跟.repo目录,则可以如下
tar zcfv Android.tar.gz Android --exclude=.git --exclude=.repo
这样打包后的压缩文件中就没包含.git跟.repo目录了,当然,换成其他目录也可以不打包进去
当要打包多个文件到一个压缩包中时,可以执行如下
tar zcfv network.tar.gz wifi ethernet pppoe
这样就把wifi、ethernet、pppoe等目录都打包进去了
如果以上的打包时,你还想保存文件原有的权限属性,可以再加个p进去即可,
即为 tar zcfvp network.tar.gz wifi ethernet pppoe
6.2 如何把一个文件打包成多个
一般一个文件太大,通过邮件或者网盘发送不出去,因为限制了发送大小,这时,如果在Linux中,用命令的话,可以如下
root@ubuntu:~/tar# ls -la
total 12
drwxr-xr-x 3 root root 4096 May 26 00:10 .
drwx------ 16 root root 4096 May 25 23:34 ..
drwxr-xr-x 5 root root 4096 May 26 00:07 misc
## 以下先把文件进行压缩,ok后,再进行切割,不要把两个命令加一起,有时会出现切割大小不一,
## 导致解压不了的情况,所以,建议还是分两步来操作更保险一点。
root@ubuntu:~/tar# tar zcfv misc.tar.gz misc
root@ubuntu:~/tar# ls -lak
total 22464
drwxr-xr-x 3 root root 4 May 26 00:19 .
drwx------ 16 root root 4 May 25 23:34 ..
drwxr-xr-x 5 root root 4 May 26 00:07 misc
-rw-r--r-- 1 root root 22449 May 26 00:17 misc.tar.gz
## 以下进行切割成每份5000K的文件,并以数字结尾,记得最后有个点.哦,命令如下:
root@ubuntu:~/tar# split -b 5000k -d -a 1 misc.tar.gz misc.tar.gz.
root@ubuntu:~/tar# ls -alk
total 44916
drwxr-xr-x 3 root root 4 May 26 00:19 .
drwx------ 16 root root 4 May 25 23:34 ..
drwxr-xr-x 5 root root 4 May 26 00:07 misc
-rw-r--r-- 1 root root 22449 May 26 00:17 misc.tar.gz
-rw-r--r-- 1 root root 5000 May 26 00:19 misc.tar.gz.0
-rw-r--r-- 1 root root 5000 May 26 00:19 misc.tar.gz.1
-rw-r--r-- 1 root root 5000 May 26 00:19 misc.tar.gz.2
-rw-r--r-- 1 root root 5000 May 26 00:19 misc.tar.gz.3
-rw-r--r-- 1 root root 2449 May 26 00:19 misc.tar.gz.4
root@ubuntu:~/tar# ls -alk misc
total 20
drwxr-xr-x 5 root root 4 May 26 00:07 .
drwxr-xr-x 4 root root 4 May 26 00:21 ..
drwxr-xr-x 35 root root 4 May 26 00:06 busybox-1.20.2
drwxr-xr-x 35 root root 4 May 26 00:07 busybox-1.20.2_1
drwxr-xr-x 35 root root 4 May 26 00:07 busybox-1.20.2_2
root@ubuntu:~/tar# mkdir 123
root@ubuntu:~/tar# mv misc.tar.gz.* 123/
root@ubuntu:~/tar# cd 123/
## 以下对之前压缩的各包进行解压缩,命令如下:
root@ubuntu:~/tar# cat misc.tar.gz.*|tar zxv
root@ubuntu:~/tar/123# ls -alk misc
total 20
drwxr-xr-x 5 root root 4 May 26 00:07 .
drwxr-xr-x 3 root root 4 May 26 00:21 ..
drwxr-xr-x 35 root root 4 May 26 00:06 busybox-1.20.2
drwxr-xr-x 35 root root 4 May 26 00:07 busybox-1.20.2_1
drwxr-xr-x 35 root root 4 May 26 00:07 busybox-1.20.2_2
root@ubuntu:~/tar/123#