linux命令
Posted sunny_ss12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令相关的知识,希望对你有一定的参考价值。
一、环境变量设置和查看
1. 设置环境变量的三种方法
1.1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
设置path
#
vim /etc/profile
在文档最后,添加:
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
保存,退出,然后运行:
#
source /etc/profile
1.2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
1.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
2.环境变量的查看
2.1 使用echo命令查看单个环境变量。例如:
echo $PATH
2.2 使用env查看所有环境变量。例如:
env
2.3 使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
今天在linux下操作发现ifconfig不能运行,其实ifconfig在/sbin目录下,运行echo $PATH,发现没有,于是在
/etc/profile中写明PATH =$PATH:$HOME/bin:/sbin:/bin
export PATH
即可。
二、 读取Linux版本信息
cat /etc/issue
此命令也适用于所有的Linux发行版。
[root@localhost ~]# cat /etc/issue
CentOS release 5.5 (Final)
Kernel \\r on an \\m
三、 suse系统安装软件方法:
zypper se xxxxx 是搜索软件包
zypper in xxxxx 跟你的apt-get install xxxx等价
zypper rm xxxx 删除
zypper up xxxx 更新软件
转载自:《使用zypper安装软件》 http://blog.chinaunix.net/uid-20639775-id-3433023.html
最近跳槽去了新公司,新公司使用的是SUSE的系统,软件的安装和原来的用的redhat或者Centos也不太一样,之前使用centos可以使用yum来方便地安装软件,SUSE下是使用zypper工具来进行安装软件,下面是学习使用zypper工具的小总结,留个备忘,以方便自己以后使用。
和yum一样,在使用zypper工具之前,需要设置软件源的地址,设置软件源地址的方法如下:
zyppr ar URL alias 表示添加一个软件源的地址,下面是针对软件源的操作,可以自行进行设置,可以对软件源进行添加、删除、重命名、查看等一系列操作。
安装源操作:
repos, lr 列出所有定义的安装源。
addrepo, ar 添加一个新的安装源。
removerepo, rr 删除指定的安装源。
renamerepo, nr 重命名指定的安装源。
modifyrepo, mr 修改指定的安装源。
refresh, ref 刷新所有安装源。
clean 清除本地缓存。
例如:添加11.3的官方软件和升级源
zypper ar http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.3/repo/oss/suse main
zypper ar http://download.opensuse.org/distribution/11.3/repo/non-oss/suse/ nonoss
zypper ar http://download.opensuse.org/update/11.3/suse update
设置好源以后,就需要先刷新源软件,请耐心等待,尤其是第一次使用的时候会需要较长时间。
zypper refresh
现在可以方便地安装或者升级软件了
安装源。
安装某个软件包
zypper install package_name
安装某个版本的软件包
zypper install package_name=version
安装以某个单词名字开头的所有软件包
zypper install package_name*
卸载某个软件包
zypper remove package_name
升级某个软件包
zypper update package_name
要一次安装和删除多个包,请使用 +/- 或 ~/! 修改键一次性安装和删除包:
zypper install emacs -vim
或:
zypper remove emacs +vim
可使用此命令来获取所有可用新包的列表:
zypper list-updates
类似的,要列出所有所需的包,请使用:
zypper list-patches
具体的软件管理有如下几项:
install, in 安装软件包。
remove, rm 删除软件包。
verify, ve 检验软件包的依赖关系的完整性。
update, up 将已经安装的软件包更新到新的版本。
dist-upgrade, dup 执行整个系统的升级。
source-install, si 安装源代码软件包和它们的编译依赖。
更多的操作请使用zypper --help查看!
检查某软件是否安装:比如检查软件samba-client是否安装
最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。
suse查看磁盘分区:df -h
查看目录文件夹大小:du -h --max-depth=1 目录名 http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html
linux添加用户和密码,设置home文件夹的所有者
useradd -d /home/test_user test_user
passwd test_user
chown -R test_user:users /home/test_user
#
linux下保存设置的命令别令 alias </span></span>
http://blog.csdn.net/llf021421/article/details/8918699
#
suse下使用使用cron定时删除某目录下更新时间超过5天的文件的方法:
首先编写删除文件的脚本:
#!/bin/bash
find /usr/local/collector/Bin1121/data -mtime +5 -name "*.log" -exec rm -rf \\;
该文件存放在/usr/local/collector/Bin1121/delete_data.sh中,赋予改文件可执行权限。
然后输入命令crontab -e编辑当前用户的cron服务: * /1* * * * /usr/local/collector/Bin1121/delete_data.sh
suse下启动cron的方法为:/etc/init.d/crontab restart
注意:如果cron已经启动(运行ps aux | grep cron 查看是否有/usr/sbin/cron运行),当使用crontab -e编辑了cron服务,则不需要再次启动cron。因为cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。
参考:教你学会Suse启动cron的方法 http://os.51cto.com/art/200912/166280.htm
linux定时任务的设置 http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html
linux挂载windows共享目录:
0. 安装samba-client,没有安装的话,需要使用命令“yum install samba-client”安装
1. 在windows共享一个目录名,比如e:\\python\\model,并设置共享的用户名和密码
2. 列出某个IP地址所提供的共享文件夹
smbclient -L 198.168.0.1 -U 用户名%密码
3. 使用mount加载windows的共享目录:
编写mount.sh,并设置可执行权限
#! /bin/bash
#set -x
NFS_SERVER_IPADDR=$1
sudo umount -f ~/src1
sudo mount -t cifs -o username=Administrator,password=ssy_123,rw,uid=888,gid=888[,file_mode=0777,dir_mode=0777] $NFS_SERVER_IPADDR:/model ~/src1
注意:挂载的目录为$NFS_SERVER_IPADDR:/model,而不是$NFS_SERVER_IPADDR:/e/python/model
注意:username中必须是在windows命令行执行net user命令下输出的文件名
注意:需要设置uid gid,否则默认所有者为root,mount之后不能使用chown修改所有者,也不能使用chmod修改读写权限。可以使用id username或读取/etc/passwd查看该用户的uid和gid
4. 执行./mount.sh 10.18.220.141 (其中10.18.220.141为windows系统的IP地址)
linux使用nfs挂载windows目录:
1. 在windows下安装haneWIN NFS服务器,在输出中设置windows目录和在linux访问的IP。
比如:E:\\python\\model -range 10.17.87.225 10.17.87.226,然后点击重新启动服务器按钮
其中10.17.87.225 10.17.87.226是有权限访问该window目录的IP地址范围
2. linux下编写挂载命令脚本,并设置可执行权限
#! /bin/bash
#set -x
NFS_SERVER_IPADDR=$1
sudo umount -f $NFS_SERVER_IPADDR/src1
sudo mount -t nfs $NFS_SERVER_IPADDR:/e/python/model $NFS_SERVER_IPADDR/src1
需要将在linux里交叉编译好的程序放在arm上运行,所以首先要将程序copy至arm上,选择了nfs。
但在arm上mount nfs的时候遇到了失败的情况:
在网上查找解决方案:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
解决方法:kill 文件锁(lockd)或者mount -o nolock
于是尝试mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs,正常工作
=============================================================
靠谱的办法是把服务端的3个服务都重启一遍:
service nfslock restart
service rpcbind restart
service nfs restart (可以不用启动)
Linux给用户添加sudo权限
linux给用户添加sudo权限:
有时候,linux下面运行sudo命令,会提示类似:
xxxis not in the sudoers file. This incident will be reported.
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:
-
进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
-
添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。
-
编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
-
撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。
然后就行了。
创建用户、设置密码、修改用户、删除用户:
useradd testuser 创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser
usermod --help 修改用户这个命令的相关参数
userdel testuser 删除用户testuser
rm -rf testuser 删除用户testuser所在目录
删除指定后缀名的文件
find ./ -name *.pyc -exec rm -f \\;
以上是关于linux命令的主要内容,如果未能解决你的问题,请参考以下文章
linux命令怎么把一个文档下的所有文件都改名?
linux如果想直接使用ls命令时显示的就是文件的周详信息,即以长格式列出当前目录下所有内容,该如何操作?
Linux 文件的权限
Linux 权限管理命令
linux命令chown和chmod什么区别
linux中怎么查看所有数据表