Linux常用命令

来源:互联网 发布:淘宝不给退款怎么投诉 编辑:程序博客网 时间:2024/05/16 11:07

linux常用命令以及简介

最近在学习大数据,少不了和linux打交到,下面是半年来使用过的linux相关的命令,想起来的就整理了一下,以供查阅,并督促自己时常整理所学知识。
也可以帮初学者梳理一下~

# [用户名@主机名 当前文件夹]$ 代表普通用户  [neu@s12083 zhangqiang]$ # ~ 代表当前用户的根目录,#代表超级用户  [root@s12083 ~]# # 如果对当前命令不是特别清楚它的用法  man [command]  # 例如:它会显示rm命令的解释说明和它的options  man rm 

添加和删除新用户(账户)

# 添加用户neu    useradd 参数 用户名    # 参数如下    -c comment 指定一段注释性描述。    -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。    -g 用户组 指定用户所属的用户组。    -G 用户组,用户组 指定用户所属的附加组。    -s Shell文件 指定用户的登录Shell。    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。    # 举例    useradd neu # 默认创建/home/neu为主目录    useradd –d /usr/neu -m neu # 此命令创建了一个用户neu,其中-d和-m选项用来为登录名neu产生一个主目录/usr/neu(/usr为默认的用户主目录所在的父目录)。    useradd -s /bin/sh -g group –G adm,root gem # 此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。# 删除neu用户 -r 将用户的主目录及内容一并删除    userdel -r neu# 添加一个新的组neu    groupadd neu# 删除组neu    groupdel neu    # 修改账号    usermod # 使用参数和useradd一样     usermod -s /bin/ksh -d /home/z –g developer sam # 此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。      usermod -s /bin/bash hbase # 允许hbase用户登录# 禁止hbase用户登录    usermod -s /bin/false hbase # 禁止一切服务,不可以ftp,并且没有提示,如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。    usermod -s /sbin/nologin hbase # 禁止登陆,而且有提示,可以ftp# 用户口令管理    passwd 参数 用户名    # 参数如下        -l 锁定口令,即禁用账号。        -u 口令解锁。        -d 使账号无口令。        -f 强迫用户下次登录时修改口令。        如果默认用户名,则修改当前用户的口令。    # 当前用户修改自己的用户口令    passwd    Old password:******    New password:*******    Re-enter new password:*******    # root用户修改其他用户(neu)的用户口令    passwd neu    New password:*******    Re-enter new password:*******    # 删除neu用户的登陆口令(下次登陆不需要口令)    passwd -d neu    # 锁定neu用户,使其不能登陆    passwd -l neu    # 解锁    passwd -u neu# 查看当前linux下所有的用户    cat /etc/passwd     # 可以查看所有用户的列表    w   # 可以查看当前活跃的用户列表    cat /etc/shadow     #   查看用户名    cat /etc/group  # 查看用户组# 新建用户异常:       # 解决创建同名用户时"信箱文件:已存在"的问题,(Creating mailbox file: 文件已存在)    rm -rf /var/spool/mail/neu(用户名)    # 解决 useradd: invalid numeric argument 'hadoop'    # 这是由于hadoop组不存在 请先建hadoop组

查看当前进程号

ps# 查看所有进程    ps -ef  或者  ps -aux     # ww 参数的含义是:避免详细参数被截断# 查看neu用户下正在进行的进程    ps -u neu# jdk1.5起提供的查看所有java进程的pid的命令    jps# 无条件终止进程kill -9 24270(pid,进程号)# 管道符'|'用来分隔两个命令,左边命令的输出会作为右面命令的输入# 输出所有进程号|输出含有关键字'a'的进程|去除含有关键'b的进程'|截取输入行第9~15个字符(pid)|将前面命令的输出结果(pid)作为kill -9的参数,并执行ps -efww | grep a | grep -v b | cut -c 9-15 | xargs kill -9# grep命令用来筛选信息

用户类型和文件权限

# 显示当前文件的详细信息 -a 参数表示显示隐藏文件(以.开头的文件就是隐藏文件)ls -l <==> ll                ls -al <==> ll -a# 一个文件的详细信息如下# 文件类型 各用户权限 用户名 用户所在组名 大小(字节) 最近修改时间 文件名    - rwxr-xrwx.  1 root root   890461 Feb 22 10:27 smarket-spark.jar    d rwxr-xrwx. 28 neu  neu      4096 Nov  8 09:38 spark-2.0.2# linux针对文件有三种格式 1)文件 用 - 来表示 2)目录   用 d 来表示 3)文件链接(快捷方式)用 l 来表示# 每一类文件都会针对三类用户进行权限控制 1)文件所有者 u 2)文件同组者 g 3)系统的其他用户 o# 对于每一类用户的权限又分为三种 1)可读 r ,权重是22次方 = 4 2)可写 w ,权重是21次方 = 2 3)可执行 x ,权重是20次方 = 1# 改变文件所属用户和组  -R 代表递归更改文件夹内的所有文件    chown -R zhangqiang:zhangqiang directory1    # 只改变文件所属用户    chown zhangqiang file.txt    # 只改变文件所属组    chgrp zhangqiang file.txt# 改变文件权限 -R  代表递归更改文件夹内的所有文件    1) chmod -R 755 directory2 # 通过修改权重来修改权限    2) chmod  u-w|o+w ./file.txt # 通过删除或者添加用户的权限直接修改

一些简单好用的命令

# 查看用户历史命令行记录history# 查看当前文件夹完整路径pwd# 清除屏幕,但是向上滚动之后之前的命令行信息又出来了clear# 真正意义上的清除屏幕,但是稍微较慢,也可以解决命令乱行的问题reset# 查看当前文件夹下所有文件的大小du * -smh# 查看文件夹ci的大小du ci -smh# 退出当前用户的命令exit# 切换到neu用户,并且进入neu用户的主目录,不需要输入密码su - neu# 切换到neu用户,并且进入上个用户当前正在使用的目录su neu

网络相关

# 查看网络信息命令ifconfig == ipconfig(windows)# 查看当前主机名hostname# 在root用户下 'hostname 主机名'  可以修改主机名,仅在当前生效,reboot之后就会还原hostname zhangqiang# 设置当前主机名,永久生效,将/etc/sysconfig/network 中的'HOSTNAME=主机名'vi /etc/sysconfig/network # 或者通过修改/etc/hostname文件来设置主机名vi /etc/hostname 将localhost.localdomain改为你想要的主机名字# 重启机器reboot# 主机IP地址配置路径 # centos 7.0之前 /etc/sysconfig/network-scripts/ifcfg-eth0# centos 7.0之后 /etc/sysconfig/network-scripts/ifcfg-eno16777736# 设置IP和主机名映射vi /etc/hosts        10.4.120.83 s12083

文件的增删改查

# cd 命令    # 进入当前用户的主目录    只输入 cd  或者 cd ~    # 返回上级目录    cd ..    # 进入当前文件夹的data文件夹,. 代表当前文件夹    cd ./data # 创建文件夹mkdir directory# 创建多层文件夹mkdir -p d1/d2/d3# 创建文件touch file.txt# 重命名,把d2重命名成rd2mv d2 rd2# 移动文件夹,将d2移动到上级目录mv d2 ../ # 拷贝文件 将hello.txt拷贝到world.txtcp hello.txt world.txt# Linux不同主机间的文件传输命令 scp# 在相关路径下 将spark-env.sh 发送到IP为s12181的neu用户的/opt/neu/spark/conf文件夹下(如果已经存在则覆盖)scp spark-env.sh neu@s12181:/opt/neu/spark/conf# 编辑文件vi / vim# 当编辑的文件不存在的时候会创建一个新的文件vi file.txt# 首先进入的是检查模式,按'i'进入编辑模式,按'esc'退出编辑模式,进入检查模式# 保存并退出,在检查模式下按 'shift'+'z'*2,即两次大写的'Z', 或者在检查模式下输入 ':wq'# 放弃保存并退出,在检查模式下输入':q!'# 在未修改任何内容的情况下,正常退出, 输入':q'# 文件查看 1) more :一页一页的查看,单页查看 2) tail : 查看文件尾部的内容,多用于查看最新的日志信息        tail -100f 滚动查看末尾100行内容,当出现最新的日志信息时滚动输出 3) cat : 查看所有文件的内容# 删除文件rm hello.txt# 删除空目录rmdir d3# 强制递归删除所有文件(直接删除不提醒,慎用!)rm -rf d1 (-r递归,-f强制删除,d1以及d1内的所有文件)

解压压缩包

# 解压.tar.gz文件tar -xzvf spark-2.0.2-bin-hadoop2.6.tgz -C /usr/zhangqiang/spark     # 参数介绍    -x 解压    -z 以gzip方式解压(*.tar.gz/*.tgz)    -v 显示正在处理的文件进度    -f 要解压的文件名称    -C 要解压到的特定目录(默认解压到当前目录)

Linux环境变量设置

# Linux环境变量设置    vi /etc/profile # 全局用户,应用于所有的Shell          例如配置jdk环境变量        JAVA_HOME=/usr/java/jdk....        CLASS_PATH=$JAVA_HOME/lib        PATH=$PATH:$JAVA_HOME/bin        export PATH JAVA_HOME CLASS_PATH    # 使配置的环境变量立即生效,不需要重启        source /etc/profile     vi ~/.bash_profile # 当前用户,应用于所有的Shell。当前用户主目录下 ls -a可以看到所有文件包含隐藏文件    vi /etc/bash_bashrc # 全局用户,应用于Bash Shell    vi ~/.bashrc # 局部当前,应用于Bash Sell
0 0