========================================================================================
2016/5/7-6
* 进入终端界面-命令行界面:
win键| 搜索栏里:terminal
* 进入root,普通用户进入root也是这样
su
密码123456
* 进入一个文件目录
cd /usr
* 查看主机名:hostname
* vi Hello.java,进入vi编辑界面,i,变成insert模式。
vi Hello.cpp
#include <stdio.h>
int main(){
printf("Hello cpp");
return 0;
}
* ls 当前目录所有文件
ls -l, 看文件具体信息
ls -al
编译java文件:javac Hello.java
运行:java Hello
编译cpp文件:gcc Hello.cpp 或gcc -o my1 Hello.2.cpp,即以名字my1输出,
ls -l,看到多出一个a.out文件
如果gcc编译出错,gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录,则安装gcc:$sudo apt-get install g++
运行cpp程序:./a.out 或./my1
退出vi界面,不保存q!或q, 保存并退出wq
* tree命令:tree
cd bin/,进入bin目录
dir
pwd 显示当前在哪个目录下
cd /home/ 回到home目录
* 用户管理,添加用户,useradd xiaoming, 设置xiaoming密码:passwd xiaoming 回车,设置的密码为123456
删除用户 userdel xiaoming
删除用户,且删除用户文件夹 userdel -r xiaoming
* 命令 init[0123456]
运行级别
0:关机。--打开就关机?
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务 -- 常用
4:系统未使用保留给用户
5:图形界面。--常用
6:系统重启。--无限重启
修改运行级别:找到文件/etc/inittab的id:?:initdefault:这行数字,root命令可系改
命令:cd,根目录下, vi /etc/inittab 回车 --此文件未找到。
重启 reboot
遇到无限重启:开机启动数秒时,即grub引导界面里,按e键,小e。选中第二行,再e键,再最后输入一个1(yi发音),回车,按b键重启,进入单用户模式。再去配置文件改回用户级别。
注:1[单用户级别],Linux启动顺序,1级别的,不会去读/etc/inittab的id:6:initdefault:文件,其他级别都去读。
单用户模式不要密码
* 常用命令小结
http://linux.ximizi.com/linux/4/31059.html 常用ls命令
pwd,看当前目录
mkdir aaa,建立目录
rmdir aaa,删除空文件夹aaa rm -r aaa 删除非空文件夹aaa
dir
touch
cp
cp -r dir1 dir2
mv
rm a.out 删除文件a.out
rm -rf *
in
in -s 源 目标
in -
more 显示文件内容
less
grep 在文本中查询内容,grep "sxg" aaa.java, “sxg”要在文件中的内容,aaa.java,在该文件中查找。
grep -n "sxg" aaa.java, -n显示行数。
|(竖杠) 管道命令
ls -l /etc/ 出来的太多,加上| more,可以把上一个命令的结果交给|竖杠后面的命令more处理
cd /home/xiaoming/ 如果x这里按tab键,系统自动补全。若多个x开头文件夹,则列出所有x开头文件夹
man dos下的帮助,manual手册的缩写。man grep,东西太多时,q键退出。
find find / -name aaa.java, /根目录, -name按文件名,aaa.java文件名。从根目录起,按文件名找文件aaa.java。
find /root/ -name aaa.java, 在root目录下找。
ls -l > a.txt 覆盖写,列表的内容加入文件a.txt中
ls -al >> aa.txt 列表中的内容追加到aa.txt末尾
grep -n "sxg" aaa.java > kkk.bak, 把grep -n "sxg" aaa.java查出来的信息输入到kkk.bak文件里,若kkk.bak不存在则自动创建。ls查询结果,vi kkk.bak,看内容
========================================================================================
2016/5/8-7
* 2.无法用自己的建的用户名登陆,提示没有文件夹。myredhat 123456
* 4.改变aa的执行权限: chmod u+x aa.txt。执行aa.txt:./aa.txt
Linux下修改PATH路径,
1.#PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效
2.#vi /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
3.#vi ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去这种方法是针对用户起作用的
chmod abc file其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
综上所述,当想用chmod命令来改变权限时,文件的用户身份主要有如下几类:
u:拥有文件的用户(所有者);
g:所有者所在的组群;
o:其他人(不是所有者或所有者的组群);
a:每个人或全部(u、g、和o)。
用户所具有的文件访问权限类型如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
r:读取权;
w:写入权;
x:执行权。
文件权限配置行为有如下几类:
+:添加权限;
-:删除权限;
=:使它成为惟一权限。
* 进入自己建的目录cd test,进入系统自带目录cd /home
chmod o+w readme.txt
o+w命令参数告诉系统想给其他人写入文件readme.txt的权限。
chmodgo-rwreadme.txt
通过输入go-rw参数告诉系统删除文件readme.txt中组群和其他人的读取和写入权限。
chmod a-rwx readme.txt 从文件readme.txt中删除所有权限(包括每个人的权限)
chmod u+rw readme.txt 把它的权限改回来。
* 删除文件即文件夹,从最里面的文件开始删,一次删一层
* 控制台输入运算
javac Count.java
java Count 1 + 2
public class Count{
public static void main(String[] args){
if(args.length < 3){ //注意数组长度length没有括号
System.out.println("Cannot calculate!");
return;
}
int a = 0, b = 0, result = 0;
try{
a = Integer.parseInt(args[0]);
}catch(Exception e){
e.printStackTrace();
}
try{
b = Integer.parseInt(args[2]);
}catch(Exception e){
e.printStackTrace();
}
if(args[1].equals("+")){
result = a + b;
}else if(args[1].equals("-")){
result = a - b;
}else if(args[1].equals("*")){
result = a * b;
}else if(args[1].equals("/") && b != 0){
result = a / b;
}else if(args[1].equals("/") && b == 0){
result = 9999;
}
System.out.println("a" + args[1] + "b=" + a + args[1] + b + "=" + result);
}
}
*
在图形界面按:Ctrl+Alt+F1~F6到命令界面
在命令界面按:Alt+F7回图形界面
* 在终端时:普通用户进入root用户:su 123456
普通用户下修改root密码:
在普通用户下,打开终端输入sudo passwd root,然后会提示你输入密码,这个是普通用户的密码,然后还有两次密码是输入root的新密码,一次输入一次是确认的,输入完成后root就开通了,然后注销重新切换用户登录到root用户就好了,登录界面会出现你的普通用户和other user,选择other user然后输入root和密码就好了。
在命令行Ctrl+Alt+F2下,进入root用户:root 123456
* 重新启动Linux,reboot。
运行startx后Ubuntu密码正确进不去的问题
今天在命令行里敲了 startx ,然后系统重启,输入密码后,跳转到一下界面,之后又返回到登陆界面。一直这样循环输入密码,进不去系统。
然后不得不用手机在网上查找解决办法。
解决步骤如下:
1,Ctrl+Alt+F3 切换到控制台登陆,aries,密码123
2,cd~
3,rm -rf .Xaut*
4, Ctrl+Alt+F7回到登陆界面,输入密码正常登陆。
进不去的原因是什么?
在tty执行startx会生成的一个文件,ubuntu的登陆器是lightdm,这个登陆器发现你家目录里有这个文件就会死循环,让你无限输入密码。
stratx 命令是用来干啥的?
startx 是用来启动X windows服务的。在Ubuntu下慎用,原理还不是很清楚。//???2014-05-03
运行后在/home目录下自动生成.Xauthority 目录,导致出现上面的问题。
* 关机命令如下:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
推荐使用shutdown命令
*? 用vi编写一个Count.c文件,可以接受两个数和一个运算符号,并在控制台输出结果。
========================================================================================
2016/5/8-7 第五节视频开始
* groupadd policeman 添加组policeman,在root用户添加的。
vi /etc/group 查看并修改所有组信息
cat /etc/group 只看不能改。--推荐。
cat /etc/group | more 用管道看
policeman:x:1002: 1002 该组名的id号,唯一不可改。
useradd -g 组名 用户名 创建用户,并同时将该用户分配到某个组,g=group
useradd -g policeman along
useradd -g policeman panpan
useradd -g tufei ashuai
vi /etc/passwd 查看用户+所在组id
cat /etc/passwd
xiaoming:x:1001:1001::/home/xiaoming: :x: 此为加密用户,1001用户id,1001所在组id
along:x:1002:1002::/home/along:
panpan:x:1003:1002::/home/panpan:
ashuai:x:1004:1003::/home/ashuai: 1004用户id,1003所在组id
* usermod -g policeman ashuai 将用户ashuai移到组policeman
* su 从普通用户 -> root用户
su along root用户 -> 用户along
* -rw-r--r--
1234567890
第1位:文件类型,-文件,d目录,l链接
234位:文件所有者,对该文件的权限,权限分3种,r读=4,w写=2,x执行=1。最高权限4+2+1=7
567位:文件所在组,对该文件的权限。例如along和panpan在一组,along创建的该文件,盼盼有读权限。
890位:其他组的用户,对该文件的权限。
E212: 无法打开并写入文件,当前文件夹权限不够,要注意,查看当前文件夹是哪个pwd,也要查看当前用户是谁who am i
* chown 用户名 文件名 修改文件所有者
chgrp 组名 文件名 修改文件所在组
ls -ahl 看到文件的所有组。
* 挂载,先虚拟机| 设置 | CD。。设置iso文件路径
根目录下,mount /mnt/cdrom
cd /mnt/cdrom
cp 文件 /home 把安装文件拷贝到/home目录
安装软件时,先移动压缩包,再解压。
插入移动盘,将文件复制到计算机|tmp文件夹下,终端命令行,进入tmp,cp jdk文件 /home,移动文件到home文件夹下。
cd .. 返回上一级目录,cd后有空格!!!
tar -xvzf test.tar.gz 解压,完成后会生成一个解压缩后的目录
* Linux命令行安装jdk.tar.gz
http://jingyan.baidu.com/article/ab0b56308966acc15afa7d18.html
下载jdk软件包到指定目录
检查jdk版本、卸载openjdk版本(jdk与openjdk的区别不在此赘述)
先检查java –version、javac –version命令查看版本(如图一)
Linux JDK安装及配置 (tar.gz版)
经检查jdk版本为1.7.0.45;再输入rpm -qa|grep java查看(如图二)
Linux JDK安装及配置 (tar.gz版)
注:不同的CentOS版本安装的openjdk版本可能有差别;如果没有列表显示,可直接看第4步
卸载以上三个文件(需要root权限,登录root权限卸载)(如图三)
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
Linux JDK安装及配置 (tar.gz版)
再次查看jdk信息(如图四)
卸载jdk2:apt-get remove openjdk*
Linux JDK安装及配置 (tar.gz版)
现在准备安装Oracle版的jdk。
解压jdk,解压命令:tar -xvzf jdk-7u25-linux-x64.tar.gz
jdk所在位置:/home/codebrother/jdk/jdk-7u25-linux-x64.tar.gz,在当前路径解压,解压之后,会出现jdk文件夹,进入jdk目录,并查看目录所包含内容(如图五)
Linux JDK安装及配置 (tar.gz版)
配置jdk环境变量
在Linux系统中,需要在PATH中添加jdk的bin目录,创建CLASSPATH,添加jdk的lib目录。
Jdk的主目录:/home/codebrother/jdk/jdk1.7.0_25
jdk的bin目录:/home/codebrother/jdk/jdk1.7.0_25/bin
jdk的lib目录:/home/codebrother/jdk/jdk1.7.0_25/lib
编辑~/.bashrc文件,vi ~/.bashrc
添加以下变量(如图六)
export JAVA_HOME=/home/codebrother/jdk/jdk1.7.0_25
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
vi ~/.bashrc 接着原有文件尾部写 或直接修改里面的原有内容:
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
export JAVA_HOME=/home/jdk1.8.0_11
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
sxg:
JAVA_HOME=/home/jdk1.7.0_79
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME
CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/home/tomcat
Linux JDK安装及配置 (tar.gz版)
按ESC键,然后:wq保存退出
使jdk环境变量生效,source ~/.bashrc(如图七)
Linux JDK安装及配置 (tar.gz版)
查看jdk版本
输入java -version、javac –version(如图八)
Linux JDK安装及配置 (tar.gz版)
如出现以上信息,则证明jdk安装成功!接下来可以进行java开发了。
安装好jdk后查看javac路径:which javac
返回 /home/jdk1.7.0_79/bin/javac
# 注释符
如果修改此文件后,javac -version和java -version出不来,则logout后重新登陆即可。
* 安装eclipse:复制usb盘里的eclipse.tar.gz到Linux计算机|tmp,再终端root权限cp命令复制到home下,解压,将jdk1.7目录下的jre复制到eclipse文件夹下,在eclipse文件夹下直接打开eclipse文件:./eclipse即可。
默认工作目录 /root/workspace
直接./eclipse报错
JVM terminated. Exit code=13
/home/jdk1.8.0_11/bin/java
-Dosgi.requiredJavaVersion=1.7 ----------jdk要1.7的
-XX:MaxPermSize=256m
-Xms256m
-Xmx1024m
-jar /home/eclipse//plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
-os linux
-ws gtk
-arch x86_64
-showsplash /home/eclipse//plugins/org.eclipse.platform_4.5.2.v20160212-1500/splash.bmp
-launcher /home/eclipse/eclipse
-name Eclipse
--launcher.library /home/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.300.v20150602-1417/eclipse_1612.so
-startup /home/eclipse//plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.appendVmargs
-exitdata 1c800e
-product org.eclipse.epp.package.jee.product
-vm /home/jdk1.8.0_11/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.7
-XX:MaxPermSize=256m
-Xms256m
-Xmx1024m
-jar /home/eclipse//plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
重新安装jdk1.7,原来的1.8没卸载,也没影响。
* linux如何复制文件夹
CP命令
格式: CP [选项] 源文件或目录 目的文件或目录
选项说明:-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
cp -r /tmp/a /root/a
记得有空格
========================================================================================
2016/5/10-2 Linux下进入bios,Enter键。
========================================================================================
2016/5/12-4
========================================================================================
2016/5/26-4
* Ctrl+C 终止命令
========================================================================================
2016/5/27
* 安装vmware tools:http://www.jb51.net/LINUXjishu/189152.html
Ctrl+Alt+F1进入命令行界面,root用户;
Ctrl+Alt退出鼠标,点击vmware软件|虚拟机|安装vmware tools
鼠标进入Linux,输入命令:
mount -t iso9660 /dev/cdrom /mnt/cdrom (如果/mnt下没有相应的目录,用mkdir建)
cd /mnt/cdrom
ls -l
tar -xvzf VMwareTools-6.0.3-80004.tar.gz
cd VMwareTools-6.0.3-80004
ls -l
./vmware-config-tools.pl
设置分辨率:system setting| hardware| display| 1280*960
在主机上设置共享文件夹:vm]->[setting]->[Options]->[Share Folders] ,然后在右边点击Add按键,选择主机目录,在Linux中 进到 “/mnt/hgfs” 就可以看到共享的目录了。
========================================================================================
2016/5/28-6
* Shift+/输入要查找的字符串 在vi编辑器里查找,n上一个,N下一个,返回vi命令模式需按Esc键
http://bbs.51cto.com/thread-657004-1.html
* 配置samba,虚拟机linux_for_ros
参考 http://blog.sina.com.cn/s/blog_627617bf0101s4ps.html 主
http://aselan.blog.51cto.com/534356/112960/ 次
http://bbs.51cto.com/thread-657004-1.html 次次
下载samba-4.1.6.tar.gz,拖到tmp下,再从tmp复制到/home/software
dos命令行下:
cp /tmp/samba-4.1.6.tar.gz /home/software
tar -xvzf samba-4.1.6.tar.gz 解压,得文件夹samba-4.1.6
mv samba-4.1.6 samba 改名文件夹为samba
cd /home/software/samba 进入刚才改名的文件夹,输入如下3条命令
./configure
make
make install
mkdir -p /home/youyou/share 创建一个文件夹,用来共享文件
chmod 777 /home/youyou/share 赋权限
cp /home/software/samba/examples/smb.conf.default /usr/local/samba/etc/ 如果没有相应的目录,自己建mkdir
mv smb.conf.default smb.conf 修改文件名为smb.conf
终端terminal下,su 123456登录,修改配置文件:
sudo vim /usr/local/samba/etc/smb.conf 修改配置文件如下,等号两边有空格!!!!:
1. 在[global]下修改samba服务器的安全模式(不修改也可以)
security = user
2. 修改编码,[global]下
display charset = UTF-8 此参数sxg在后来测试和启动时报Ignoring unknown parameter "display charset"
unix charset = UTF-8
dos charset = cp936
3. 修改组,[global]下
workgroup = WORKGROUP 此组名为外部主机win7系统所在组名,可通过计算机|属性|工作组 查看
3.
在配置文件末尾添加文件共享定义信息
[Share]
comment = Shared Folder
path = /home/youyou/share
#public = yes 允许匿名访问
writable = yes 可写
#readonly = yes 只读
valid users = youyou 可访问用户名,组可用 @组名,sxg未试组名
create mask = 0700
directory mask = 0700
available = yes
browseable = yes
配置文件修改完后,添加用户youyou
sudo useradd youyou
passwd youyou 设置用户youyou的密码:youyou
确保目录存在:/home/youyou/share
sudo /usr/local/samba/bin/smbpasswd -a youyou 在samba中添加用户youyou
输入smb密码:youyou
sudo /usr/local/samba/bin/testparm 测试samba
sudo /usr/local/samba/sbin/smbd restart 重启samba1
sudo /usr/local/samba/sbin/nmbd restart 重启samba2
访问samba
(1)windows下访问samba: 在文件管理器地址栏中输入\\samba服务器IP 即可以查看共享文件夹或者打印机,如Shared和youyou/share,此2个文件夹指向同一个目录youyou/share
\\192.168.31.172 linux的ifconfg显示的ip地址
用户名:youyou 以上创建的共享的用户名
密码:youyou 以上设置的用户名加入smb的smb密码,不是用户名密码,但可以设置成和用户名的密码一样,以便记忆
以下2种访问方法sxg未试2016/5/28
(2)linux下:
方法1:使用smbclient
客户机以同样方式安装samba
①列出某个IP地址所提供的共享文件夹
sudo /usr/local/samba/bin/smbclient -L 192.168.0.1 -U username%password
②使用smbclient获取共享文件
sudo /usr/local/samba/bin/smbclient //192.168.0.1/Share -U username%password
执行成功后进入smbclient环境,出现命令提示符:smb:\>
这里可使用的命令有:
?:列出所有可用命令
cd:进入共享文件目录
del:删除某个文档
lcd:变换本机目录
ls:查看目前所在目录
dir:同ls
get:下载单个文件
mget:下载多个文件
mput:上传多个文件
put:上传单个文件
rm:删除文件夹
exit:离开
方法2:使用mount进行挂载
可以使用mount挂载远程共享文件夹:
sudo mount -o username=fzuir,password=123456 //192.168.0.1/Share /mnt/tmp
* 挂载cd/rom时报错(执行mount命令时)
** 找不到介质或者mount:no medium found 或 mount:在 /dev/sr0 上找不到媒体
-- 1.确定,VMWARE的CD/DVD(IDE)| 连接| 使用ISO镜像文件,已经成功选中ISO镜像,
2.1. 临时挂载:在虚拟机下部的状态栏内,找到CD/DVD图标(一个光盘图标),此时一般显示为灰色,鼠标点一下,即可启动CD/DVD,此时CD/DVD即可加载到虚拟机系统内
2.2. 永久解决办法:在虚拟机的CD/DVD设置里,将“已连接”和“打开电源时连接”两个选项,选中,确定即可。
此时再执行mount命令,即可成功挂载光盘。
sudo mkdir /mnt/cdrom
mount -t iso9660 /dev/cdrom /mnt/cdrom
========================================================================================
2016/5/31-2
* su sxg 普通用户切换,sxg用户名
su - sxg 同上
详细位置搜索ubuntu系统jdk安装的默认路径。
*
在Eclipse里面设置jdk路径(这个不细说,不会自己搜)。
详细位置搜索ubuntu系统jdk安装的默认路径。
或者按照如下方法,手动查找(机器不同可能结果也不一样,但思路都是一样的):
which javac
返回/usr/bin/javac
file /usr/bin/javac
返回/usr/bin/javac: symbolic link to `/etc/alternatives/javac'
然后file /etc/alternatives/javac
返回/etc/alternatives/javac: symbolic link to `/usr/lib/jvm/java-6-sun/bin/javac'
然后file /usr/lib/jvm/java-6-sun/bin/javac
返回/usr/lib/jvm/java-6-sun/bin/javac: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
到此为止,说明路径是/usr/lib/jvm/java-6-sun/bin/,在Eclipse里面设置即可。
========================================================================================
2016/6/1-2
* rpm -ivh file.rpm --nodeps --force 忽略警告,强制安装软件。
* [linux]ubuntu14.04搭建dhcp server http://blog.csdn.net/luther24/article/details/37531111
sudo apt-get install isc-dhcp-server -y 安装dhcp
rpm -qa|grep dhcp 查询
========================================================================================
* 中文乱码:
gedit --encoding=GB18030 filename.txt
========================================================================================
========================================================================================
========================================================================================
========================================================================================
========================================================================================