1.>>>>>刚安装好的ubuntu需要为root创建密码
【解决】
passwd root

2.>>>>>安装完ubuntu后需要更新
【解决】
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

3.>>>>>ubuntu vi不能正常使用方向键与退格键的问题
【解决】
ubuntu预装的是vim tiny版本,而需要的是vim full版本,sudo apt-get install vim

4.>>>>>ubuntu远程登录不了
【解决】
第一步 检测是否真的启用了SST -server
使用命令 ps -e |grep ssh

如果只有ssh-agent, 没有sst-server

则说明ssh-server还没有安装或者没有启用.需要检验一下它是否真的被安装到了你的ubuntu上。(默认情况下是没有被安装的)
第二步 检验是否安装了 SST -server
在终端中输入命令:/etc/init.d/ssh start,如果在返回结果中看到sshd那说明ssh-server已经启动了。
第三步 安装 SST -server
在终端中输入命令 :sudo apt-get install openssh-server

Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。

然后确认sshserver是否启动了:

ps -e |grep ssh

5.>>>>>创建samba用户
【解决】
安装samba:
sudo apt-get install samba
sudo apt-get install smbclient
sudo smbpasswd usrname
Samba服务器的启动、关闭和重启
启动Samba服务器只需执行如下命令:
#sudo /etc/init.d/samba start
关闭Samba服务器:
#sudo /etc/init.d/samba stop
重新启动Samba服务器:
#sudo /etc/init.d/samba restart
#sudo service smbd restart
启动Samba服务器后,可以使用ps命令查看进程:
#ps -aux

配置samba账户
[andy]
comment = andy samba
path = /home/andy
browseable = yes
writeable = yes
valid users = andy
admin users = andy

6.>>>>>两台ubuntu计算机相互传输文件
【解决】
查看防火墙状态:
/etc/init.d/iptables status
若防火墙启用,暂时关闭防火墙:
/etc/init.d/iptables stop
检查两台linux系统服务器网络是否通畅。
在A上pingB。
保证两台linux服务器网络是畅通的。
在本地A拷贝远端的服务器B上的文件:
scp root@[B的ip地址或主机名]:[B上存放文件路径] /文件 [A上存放的文件路径]
如:scp root@192.168.3.58:/home/oracle/test.sql /home/oracle
在本地A拷贝远端的服务器B上的文件夹及文件夹下的文件:
scp -r root@[B的ip地址或主机名]:[B上存放文件路径] [A上存放的文件路径]
如:scp -r root@192.168.3.58:/test /test

7.>>>>>使用rsync命令从网络服务器下载代码
【解决】
rsync –avz rsync://10.10.10.254/iSDK/ /home/iSDK/

8.>>>>>在ubuntu下安装rpm包
【解决】
下载rpm包后,可以通过安装 fakeroot 和 alien 工具将 rpm 包转换为 deb
包, 安装命令为: sudo apt-get install alien fakeroot
使用 alien 将 rpm 包转换为 deb 包:fakeroot alien package.rpm
一旦转换成功,我们可以即刻使用以下指令来安装:sudo dpkg -i package.deb

9.>>>>>修改下载源镜像
【解决】
可以使用以下列表中的任何一个源镜像只要往 /etc/apt/sources.list 文件中像下面这样添加一行:
deb http://cz.archive.ubuntu.com/ubuntu utopic main universe

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine

安装好的软件也可以直接到這裏找 deb 檔案 (如果還未被移除的話)
sudo ls -al /var/cache/apt/archives/

10.>>>>>编译vlc开源代码
【解决】
1.下载vlc源码包
sudo apt-get install vlc
2.把源代码解压之后也是先运行一下bootstrap,看看缺什么工具没有,例如gcc、make、libtool、automake、autoconfig等是否有合适的版本
#sudo apt-get build-dep vlc
3.安装必须的工具包否则后面会出错
#apt-get install autoconf automake libtool git subversion
4.安装最新的VLC
#cd /home/git_work
#git clone git://git.videolan.org/vlc.git
5.配置环境
./configure --prefix=/home/andy/project/git_work/vlc/ (指定make install 要安装的目录)
6.如果显示错误,则分别安装下面的软件
sudo apt-get install liblua5.2
sudo apt-get install libxcb-shm0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libpostproc-dev
sudo apt-get install liba52-dev
sudo apt-get install libxcb-xv0-dev
7.然后执行下面的命令
./configure --disable-lua --disable-mad --disable-avcodec --disable-avformat --disable-swscale --disable-postproc --disable-a52
然后执行make

11.>>>>>ubuntu下格式化U盘
【解决】
首先执行sudo fdisk -l查看你的u盘的序号,通常是/dev/sdb之类的,U盘分区通常是/dev/sdb1
对于u盘我们一般格式化为FAT格式或者FAT32格式,不过在linux下这些会都显示为FAT格式。我们只需要执行命令:
sudo mkfs.vfat -F 32 /dev/sdb1即可将u盘格式化为fat32格式。
假如你要把指定磁盘格式化为NTFS格式那么你需要sudo apt-get install ntfsprogs来安装ntfs读写工具,然后执行sudo mkfs.ntfs /dev/sda1,此过程会很慢。对于要格式化为linux ext格式的分区就更容易了:
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
sudo mkfs.ext2 /dev/sda1 #格式化为ext2分区
PS:对于要格式化的分区必须要先用umount卸载掉才能格式化哦。

12.>>>>>安装doxygen工具
【解决】
apt-get install doxygen doxygen-gui graphviz
http://www.doxygen.org/官网
使用命令:doxywizard

13.>>>>>ubuntu脚本sh默认使用dash,建议使用bash
【解决】
ls -al /bin/sh可以查看当前使用哪种方式,sudo dpkg-reconfigure dash命令选择NO选项改为Bash

14.>>>>>设置网络IP、mask、GW
【解决】
ifconfig eth0 10.8.11.245 netmask 255.255.248.0
route add default gw 10.8.8.1
LC640415040000000020

15.>>>>>修改默认进入图形界面
【解决】
每次都进入unity界面再进入命令行很不方便,不需要界面的话,可以通过设置来开机进入命令行模式。
命令:sudo vi /etc/default/grub找到这一行
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改成 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
在输入命令:sudo update-grub
开机后就自动进入tty1了。

16.>>>>>使用git命令下载json-c代码并编译
【解决】
下载命令:
$ git clone https://github.com/json-c/json-c.git ./
$ cd json-c
$ sh autogen.sh
编译命令:
$ ./configure
$ make
$ make install
运行test程序:
$ make check
If your system has pkgconfig , then you can just add this to your makefile :
CFLAGS += $(shell pkg-config --cflags json-c)
LDFLAGS += $(shell pkg-config --libs json-c)

17.>>>>>编译命令
【产测】
source build.sh husky HEAD mtest /home/andy/project/xtest/trunk/output
【SDK】
source mickey_build.sh /home/andy/project/bcm7583/trunk/output_mickey/ mickey

18.>>>>>shell脚本通配符 $* $@ $#
脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)

$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

文件比较运算符
-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]
-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]
-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]
-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]
-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果 string长度为零,则为真 [ -z "$myvar" ]
-n string 如果 string长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]

19.>>>>>Ubuntu终端里面显示路径名称太长, 修改只显示当前目录
【解决】
$: sudo vi ~/.bashrc 这个文件记录了用户终端配置
找到
if [ "$color_prompt " = yes ]; then
PS1 ='${debian_chroot:+($debian_chroot)}
else
PS1 ='${debian_chroot:+($debian_chroot)}\u@\h: ——————\W —修改这个——————— \$ '
将红色的w由小写改成大写,可以表示只显示当前目录名称.

20.>>>>>挂在nfs文件系统
【解决】
mount -t nfs -o rw 10.140.133.9:/export/homesky /mnt/nfs
首先安装nfs-kernel-server:apt-get install nfs-kernel-server
然后创建一个目录:mkdir -p /opt/share
并赋予权限777:chmod -R 777 /opt/share
在/etc/exports文件中添加配置:/opt/share 10.112.18.0/255.255.255.0(rw,no_root_squash)
在/etc/hosts.allow中添加配置:portmap:10.112.18.0/255.255.255.0
在/etc/hosts.deny中添加配置:portmap:ALL

重新启动两个服务:service portmap restart
service nfs-kernel-server restart

在另一台Ubuntu上安装nfs-common:apt-get install nfs-common
然后创建目录test:mkdir ~/test
然后运行测试命令看一下:# showmount -e 10.112.18.158
Export list for 10.112.18.158: /opt/share 10.112.18.0/255.255.255.0
找到nfs server的挂载目录了。现在手工挂载:mount -t nfs4 10.112.18.158:/opt/share ~/test/
现在可以测试了,应该成功。

21.>>>>>设置虚拟机静态IP
【解决】
1、配置静态IP地址:
# vim /etc/network/interfaces
原内容有如下4行:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
以上表示默认使用DHCP分配IP,修改为如下:
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp

iface eth0 inet static
address 192.168.80.129
netmask 255.255.255.0
gateway 192.168.80.2
保存退出。
注意:只需要设置address(IP地址)、netmask(子网掩码)、gateway(网关)这三项就OK,network和broadcast这两项参数是可以不写的。
2、手动设置DNS服务器:
# vim /etc/resolv.conf
添加如下内容(这点所有Linux发行版都通用):
nameserver 192.168.80.2
nameserver 8.8.8.8
保存退出。
注意:重启Ubuntu后发现又不能上网了,问题出在/etc/resolv.conf。重启后,此文件配置的dns又被自动修改为默认值。所以需要永久性修改DNS。方法如下:
# vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.80.2
nameserver 8.8.8.8
3、重启networking服务使其生效:
# /etc/init.d/networking restart
这样网络配置就永久生效。

22.>>>>>apt-get命令参数使用
【解决】
  apt-cache search package 搜索包
  apt-cache show package 获取包的相关信息,如说明、大小、版本等
  sudo apt-get install package 安装包
  sudo apt-get install package - - reinstall 重新安装包
  sudo apt-get -f install 修复安装"-f = --fix-missing"
  sudo apt-get remove package 删除包
  sudo apt-get remove package - - purge 删除包,包括删除配置文件等
  sudo apt-get update 更新源
  sudo apt-get upgrade 更新已安装的包
  sudo apt-get dist-upgrade 升级系统
  sudo apt-get dselect-upgrade 使用 dselect 升级
  apt-cache depends package 了解使用依赖
  apt-cache rdepends package 是查看该包被哪些包依赖
  sudo apt-get build-dep package 安装相关的编译环境
  apt-get source package 下载该包的源代码
  sudo apt-get clean && sudo apt-get autoclean 清理无用的包
  sudo apt-get check 检查是否有损坏的依赖

23.>>>>>64bit系统兼容32bit问题
【解决】
使用64bit系统编译时遇到很多兼容性问题,需要安装以下兼容库,
sudo apt-get install ia32-libs, 如果提示无法安装此库可以安装下面几个兼容库
sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0

24.>>>>>linux下svn递归添加文件
【解决】
svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn add
svn add . --no-ignore --force

25.>>>>>海思项目出现异常编译错误
【解决】
“DoorBell HD”目录不能带空格;

26.>>>>>ubuntu静态IP不能上网问题
【解决】
sudo vi /etc/network/interfaces
添加如下内容:
iface eth0 inet static
address 192.168.1.122
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 202.106.0.20
sudo /etc/init.d/networking restart
sudo reboot
ifconfig检查是否设置正确
ping www.baidu.com检查是否可以联网

Linux常用shell命令的更多相关文章

  1. Linux - 常用Shell命令

    珠玉在前,不再赘言. 对Linux新手非常有用的20个命令 对中级Linux用户非常有用的20个命令 对Linux专家非常有用的20个命令

  2. 「功能笔记」Linux常用Shell命令(终端命令)备忘录

    长期更新,空置.缺漏的部分会逐渐补上.未指明时,均为GNU版本. 文件命令 基础操作 ls 默认显示非隐藏文件.以文件名进行排序.文件名有颜色(蓝色文件夹.白色一般文件.绿色可执行文件). Cheat ...

  3. linux 常用shell命令 ls

    ls:查看文件名和目录,用法:$ ls [选项] 1. $ ls 直接输入ls命令,则列出当前目录下的所有文件和目录,不显示详细信息,如类型,大小,日期权限等. 2. $ ls -l -l 选项,每行 ...

  4. linux 常用shell命令之wc

    wc:查看文件统计信息 用法:$ wc filename 1. $ wc fileName $ wc fileName X Y Z /Desktop/hello X:表示行数 Y:表示单词数 Z:表示 ...

  5. Linux常用shell命令持续总结

    1. 查看端口运行 netstat -lnp|grep 80 2. 定时任务 Crontab -e 编辑任务 Crontab -l 查看当前任务列表 /var/log/cron-* 任务日志

  6. Linux Shell常用shell命令

    Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...

  7. Python下调用Linux的Shell命令

    有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...

  8. Linux常用Shell脚本珍藏【转载】

    我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...

  9. Linux常用脚本命令总结

    基本操作 通用操作 1. export 显示所有的环境变量,也可以获取到某个变量的详细信息: export # 显示所有 echo $SHELL # 只显示SHELL 2. whereis 使用系统自 ...

随机推荐

  1. Android中在不同activity中进行自定义广播的解析

    相信有不少人和我一样曾经尝试过在同一个项目中的两个activity进行广播,发现怎么都实现不了.我也是困惑了好久才发现,这么搞本来就是不行的.首先在同一个项目下不同的activity之间广播没有意义, ...

  2. Django模板语言

    day66 2018-05-08 1. 内容回顾 1. 模板系统(字符串替换) 1. 语法 1. 变量相关: {{ name }},{{name|length}},{{name|default:&qu ...

  3. 王之泰/王志成《面向对象程序设计(java)》第十一周学习总结

    第一部分:理论知识学习部分 第十一章理论知识主要为集合类的介绍,在实验中都有所体现且本周主要复习回顾上周的泛型程序设计 第二部分:实验部分 ——集合 1.实验目的与要求 (1) 掌握Vetor.Sta ...

  4. Best Practices for Assembly Loading

    原文链接 This article discusses ways to avoid problems of type identity that can lead to InvalidCastExce ...

  5. 最简单获取appPackage和appActivity 的方法

    appPackage和appActivity 进行appium自动化测试必须的两个参数,我们所测试的APP项目不同,这两个参数肯定也是不一样的.我们启动的包都是靠这两个参数去驱动的,那么我们怎么可以快 ...

  6. fprintf中使用stderr

    fprintf是C/C++中的一个格式化写-库函数,位于头文件<stdio.h>中,其作用是格式化输出到一个流/文件中 运行如下代码: #include <stdio.h> v ...

  7. Tensorflow训练和预测中的BN层的坑

    以前使用Caffe的时候没注意这个,现在使用预训练模型来动手做时遇到了.在slim中的自带模型中inception, resnet, mobilenet等都自带BN层,这个坑在<实战Google ...

  8. 利用GSEA对基因表达数据做富集分析

      image Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a p ...

  9. unity - ios打包真机测试及模拟器测试

    本文介绍unity游戏如何在iphone机和ios模拟器上进行测试打包 准备工作:mac电脑一台.iphone一部.连接mac和iPhone的数据线.unity.Xcode.苹果开发者账号. 苹果开发 ...

  10. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别

    什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语 ...