Ubuntu系统下终端基本命令使用介绍

DS小龙哥 发表于 2022/06/22 21:48:25 2022/06/22
【摘要】 上一篇文章里介绍了如何在Vmware虚拟机安装ubuntu操作系统,这篇文章介绍ubuntu系统常见的一些命令使用,编辑器如何配置,软件源更新配置,NFS服务器配置方式,make命令错误解决办法等等。

上一篇文章里介绍了如何在Vmware虚拟机安装ubuntu操作系统,这篇文章介绍ubuntu系统常见的一些命令使用,编辑器如何配置,软件源更新配置,NFS服务器配置方式,make命令错误解决办法等等。

1.1 切换超级用户

ubuntu 有以下方式切换到 root 身份。

1.​ sudo+命令,输入当前用户密码后以 root 权限执行命令,有时间限制且仅限当前命令。

2.​ sudo -i,输入当前用户密码后以 root 权限登录 shell,无时间限制。使用 exit 或 logout 退出。

3.​ su,输入 root 账户的密码后切换到 root 身份,无时间限制。 su 用户名切换回其它用户。

4.​ sudo su,效果同 su,只是不需要 root 的密码,而需要当前用户的密码。

1.2 动态获取 IP 地址

$ sudo dhclient -r //release ip 释放 IP

$ sudo dhclient //动态获取 IP

示例: root@XL:/work/qt-for-arm/qt-everywhere-opensource-src-5.6.0# dhclient eth0

1.3 make menuconfig 错误解决

sudo apt-get install libncurses5-dev 安装缺少的库

1.4 安装 gedit

sudo apt-get update

sudo apt-get install gedit-gmate

sudo apt-get install gedit-plugins

sudo apt-get remove gedit

sudo apt-get install gedit

1.5 NFS 服务器的启动设置

安装 NFS 服务器: # apt-get install nfs-kernel-server

NFS 配置文件: # gedit /etc/exports

/work *(rw,no_root_squash,sync)

生效路径: # exportfs -r

输出路径: # exportfs -v

NFS服务器配置脚本

/etc/init.d/nfs-kernel-server restart #复位 NFS服务

#/etc/init.d/nfs-kernel-server start #启动 NFS 服务

#/etc/init.d/nfs-kernel-server stop #停止 NFS 服务

ufw disable #关闭防火墙

1.6 安装 vim

# apt install vim

1.7 ubuntu下安装windows软件运行环境

1.7.1 安装wine

wine(“Wine Is Not an Emulator”的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。安装了wine之后,会模仿一个类windows的运行环境出来,于是很多windows下的程序就能顺理安装在linux系统中了。具体的安装步骤也很简单,以ubuntu系统为例。执行如下语句就好: sudo apt-get install wine

wine下载地址: https://wiki.winehq.org/Ubuntu

1.7.2 安装source insight

将source insight安装的可执行文件复制到ubuntu中。我复制到了~/Desktop/下面。

运行命令: wine ~/Desktop/Si35Setup.exe

其中Si35Setup.exe为source insight安装包名字。安装过程与windows相同。

1.7.3 启动source insight建立工程

使用命令启动source insight,建立工程和windows相同。

运行命令:wine "c:\Program Files\Source Insight 3\Insight3.exe"

1.8 更新软件源和软件

更新软件源 :sudo apt-get update

更新软件:sudo apt-get dist-upgrade

1.9 ubantu安装notepad++

Ubuntu下的安装方法:

sudo add-apt-repository ppa:notepadqq-team/notepadqq

sudo apt-get update

sudo apt-get install notepadqq


Ubuntu下的卸载方法:

sudo apt-get remove notepadqq

sudo add-apt-repository --removeppa:notepadqq-team/notepadqq

1.10 ubuntu修改终端显示样式-PS1

普通用户下修改PS1样式:

[wbyq@wbyq ~]$ sudo vim .bashrc

最下面增加代码:

PS1='[\u@\h \W]\$ '

立即生效:

[wbyq@wbyq ~]$ sudo source .bashrc


超级用户下修改PS1样式

[root@wbyq /]# vim /etc/profile

最下面增加代码:

PS1='[\u@\h \W]\$ '

立即生效:

[root@wbyq /]# source /etc/profile

1.11 ubuntu下编译Android 5.0 源码配置流程

1. 安装jdk
sudo apt-get install openjdk-7-jdk

2. 添加32位依赖包
sudo dpkg --add-architecture i386

3. 安装32的库-运行32位软件
sudo apt-get install libc6:i386

4.  修改文件
gedit <Android 源码目录>/art/build/Android.common_build.mk +121
ART_HOST_CLANG := false
ifneq ($(WITHOUT_HOST_CLANG),true)
# By default, host builds use clang for better warnings.
ART_HOST_CLANG := false #true 改为 false
endif


5. 
cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

6. 
. setenv


7.  lunch

8. 
make update-api

9. 出现错误:
out/host/linux-x86/bin/acp: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
make: *** [out/host/linux-x86/framework/antlr-runtime.jar] 错误 127
解决办法:
sudo apt-get install libstdc++6:i386

10. 出现错误
prebuilts/misc/linux-x86/bison/bison -d  -o out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] 断开的管道

解决办法:
(1). 安装g++编译器
sudo apt-get install g++

(2). 安装依赖
sudo apt-get install  g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

(3). 安装依赖
sudo apt-get install bison

(4). 然后继续: make update-api

11. 开始编译  make -j4

12. 出现错误:
/bin/bash: gperf: 未找到命令
make: *** [out/target/product/tiny4412/obj/GYP/shared_intermediates/blink/platform/ColorData.cpp] 错误 127
解决方法:
sudo apt-get install gperf
然后继续编译:  make -j4


13. 出现错误
art/runtime/thread.h:921:19: error: field 'as_atomic_int' has incomplete type
解决方法:
make   不加 -j4

14. 出现错误
art/runtime/entrypoints/entrypoint_utils.h:171:20: error: 'void art::UnlockJniSynchronizedMethod(jobject, art::Thread*)' declared 'static' but never defined [-Werror=unused-function]
art/runtime/entrypoints/entrypoint_utils.h:177:20: error: 'void art::CheckSuspend(art::Thread*)' declared 'static' but never defined [-Werror=unused-function]
cc1plus: all warnings being treated as errors


原因: 主要原因是 Makefile 里面 gcc 的参数多了一个 "-Werror",找到出错的make文件夹,看Make文件里面有没有“-Werror",如果有的话将其删除。
重新编译即可。

使用脚本解决:
#!/bin/bash
if [ $# != 1 ]
then
	echo "./shell.sh /find/dir/xxx"
	exit 0;
fi

#查找文件
for FILE in `find $1 -name Makefile`
do
	S_FILE=`grep -in "\-Werror" $FILE`  #查找文件里有没有-Werror  \表示转义字符 
	                           #-i表示忽略大小写 -n输出行号
	if [ $? == 0 ]
	then
		#echo "${FILE}->${S_FILE}"
		echo "${S_FILE}"
		sed -i "s/-Werror/ /g" ${FILE}   #将文件里的-Werror 字符串替换为空格
	fi
   # echo $FILE
done

15. 出现错误
(1). 复原前面对/art/build/android.common_build.mk文件的修改
(2). rm -rf out ?删除out目录
(3). 在源码根目录 执行cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld
(4). 更新下api:make update-api
(5). 尝试重新编译: make


16. 出现错误
/bin/bash: xmllint: 未找到命令
make: *** [out/target/product/tiny4412/system/etc/apns-conf.xml] 错误 127

#### make failed to build some targets (09:18:55 (hh:mm:ss)) ####

解决方法:
sudo apt-get  install libxml2-utils
然后继续make

17. 等待一段时间,没有错误就编译完成了。
最终的提示: #### make completed successfully (01:36:28 (hh:mm:ss)) ####

18. 运行./gen-img.sh  生成映像文件
编译成功后,执行以下命令生成系统映象文件 system.img 和 ramdisk-u.img:
#./gen-img.sh

执行 gen-img.sh 下会在 Android 源代码当前目录下生成 system.img、 ramdisk-u.img 和userdata.img。
可将 system.img 和 ramdisk-u.img 以及所有 userdata 开头扩展名为 img 的文件拷到 SD 卡的images/Android 目录下覆盖原文件,然后用 SD 卡重新烧写系统。

出现错误:
Created filesystem with 18/640848 inodes and 78756/2560000 blocks
./gen-img.sh: 行 31: mkimage: 未找到命令

解决方法:
解压光盘的uboot源码,配置,编译
wbyq@wbyq:~/work$ tar xvf /mnt/hgfs/linux-share-dir/uboot_tiny4412_1509.tar 
wbyq@wbyq:~/work/uboot_tiny4412_1509/uboot_tiny4412-sdk1506$ make tiny4412_config
wbyq@wbyq:~/work/uboot_tiny4412_1509/uboot_tiny4412-sdk1506$ make
wbyq@wbyq:~/work/uboot_tiny4412_1509/uboot_tiny4412-sdk1506$ sudo cp tools/mkimage /usr/bin/
然后回到Android源码目录下继续运行: #./gen-img.sh

成功提示:
wbyq@wbyq:~/work/tiny4412_Android/android-5.0.2$ ./gen-img.sh 
Creating filesystem with parameters:
    Size: 629145600
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7680
    Inode size: 256
    Journal blocks: 2400
    Label: 
    Blocks: 153600
    Block groups: 5
    Reserved block group size: 39
Created filesystem with 1943/38400 inodes and 137309/153600 blocks
Creating filesystem with parameters:
    Size: 2149580800
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7728
    Inode size: 256
    Journal blocks: 8200
    Label: 
    Blocks: 524800
    Block groups: 17
    Reserved block group size: 135
Created filesystem with 18/131376 inodes and 17347/524800 blocks
Creating filesystem with parameters:
    Size: 4299161600
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7952
    Inode size: 256
    Journal blocks: 16400
    Label: 
    Blocks: 1049600
    Block groups: 33
    Reserved block group size: 263
Created filesystem with 18/262416 inodes and 35067/1049600 blocks
Creating filesystem with parameters:
    Size: 10485760000
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8112
    Inode size: 256
    Journal blocks: 32768
    Label: 
    Blocks: 2560000
    Block groups: 79
    Reserved block group size: 631
Created filesystem with 18/640848 inodes and 78756/2560000 blocks
Image Name:   ramdisk
Created:      Tue Nov 19 12:38:00 2019
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    720521 Bytes = 703.63 kB = 0.69 MB
Load Address: 40800000
Entry Point:  40800000
wbyq@wbyq:~/work/tiny4412_Android/android-5.0.2$ 



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。