zoukankan      html  css  js  c++  java
  • Linux常用shell命令

    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检查是否可以联网

  • 相关阅读:
    P1030 求先序排列 P1305 新二叉树
    spfa
    Clairewd’s message ekmp
    Cyclic Nacklace hdu3746 kmp 最小循环节
    P1233 木棍加工 dp LIS
    P1052 过河 线性dp 路径压缩
    Best Reward 拓展kmp
    Period kmp
    Substrings kmp
    Count the string kmp
  • 原文地址:https://www.cnblogs.com/liudeen/p/10157015.html
Copyright © 2011-2022 走看看