Linux基础命令

1、ifconfig 查看当前linux操作系统IP
ipconfig 查看当前windows操作系统IP
2、文件创建 vi
touch xxx.log 创建一个空的文件
mkdir *** 创建一层文件夹
mkdir -p 1/2/3 连续创建3层
mkdir 4 5 6 同一层同时创建 4 5 6三个目录# 1.cd命令

  1. ifconfig 查看当前ip

  2. 文件创建
    vi xxx.log 创建文件。输入内容后保存退出,创建一个非空文件;不输入内容保存退出,创建一个空文件。
    touch xxx.log 创建一个空的文件。

  3. 文件夹创建
    mkdir xxx 创建1层
    mkdir -p 1/2/3 连续创建3层
    mkdir 4 5 6 同1层下子创建3个目录

6.mv 移动文件或文件夹(注意:移动后原路径是不存在)
mv 20180427.log home/

  1. cp 复制文件或者文件夹(注意:移动后原路径是存在的)
    文件: cp 20180502.log home/
    文件夹: cp -r 4 1/

  2. 查看文件的内容
    cat 20180427.log 一下子将内容刷新出来
    more 20180427.log 一页页的按空格键翻
    less 20180427.log 随意浏览文件 可以往前翻也可以往后翻
    tail -f 20180427.log 实时查看文件内容
    tail -F 20180427.log 实时查看文件内容 其中:-F = -f -retry

  1. 输出打印
    echo "1234"

  2. 写入内容到文件
    echo "456" > 20180502.log 覆盖 将20180502.log原来的内容覆盖
    echo "123" >> 20180502.log 追加 将20180502.log原来的内容后面追加

  3. alias 别名
    语法:alias[别名]=[指令名称] 若不加任何参数,则列出目前所有的别名设置。
    用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定指令的别名。
    如果你想给每一位用户都生效的别名,请把alias la='ls -al' 一行加在/etc/bashrc最后面,bashrc是环境变量的配置文件,/etc/bashrc和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用。

  4. 环境变量文件
    全局:
    vi /etc/profile 编辑环境变量文件
    source /etc/profile 生效

    个人: .bash_profile 、.bashrc
    vi ~/.bash_profile 编辑环境变量文件
    source ~/.bash_profile 生效
    . ~/.bash_profile 生效

    vi ~/.bashrc      编辑环境变量文件    
    source ~/.bashrc  生效
    . ~/.bashrc     生效
    
  5. 删除文件和文件夹
    删除文件
    rm xxx.log 删除一个文件,询问
    rm -f xxx.log 删除一个文件,不询问
    删除文件夹
    rm -rf xxx 删除文件夹
    需要注意:rm -rf / 这个操作很危险,千万不能做。这样做会把根目录下的所有文件夹及文件删除。

  6. 设置变量
    是以:key=value 的形式设置变量 如:path=6 key为path value为6

  7. history !n 查看历史命令和执行第n行
    这个命令会显示所有的历史命令。
    先输入history查看历史命令,再输入 !5 执行第5行的命令

  8. 用户,用户组的常用命令
    用户常用的命令
    [root@hadoop001 hadoop]# ll /usr/sbin/user*
    -rwxr-x---. 1 root root 103096 Dec 8 2011 /usr/sbin/useradd
    -rwxr-x---. 1 root root 69560 Dec 8 2011 /usr/sbin/userdel
    -rws--x--x. 1 root root 42408 Aug 23 2010 /usr/sbin/userhelper
    -rwxr-x---. 1 root root 98680 Dec 8 2011 /usr/sbin/usermod
    -rwsr-xr-x. 1 root root 9000 Nov 23 2013 /usr/sbin/usernetctl
    用户组常用用的命令
    [root@hadoop001 hadoop]# ll /usr/sbin/group*
    -rwxr-x---. 1 root root 54968 Dec 8 2011 /usr/sbin/groupadd
    -rwxr-x---. 1 root root 46512 Dec 8 2011 /usr/sbin/groupdel
    -rwxr-x---. 1 root root 50800 Dec 8 2011 /usr/sbin/groupmems
    -rwxr-x---. 1 root root 61360 Dec 8 2011 /usr/sbin/groupmod

    创建一个用户的时候,自动创建一个用户和用户组,名称一样
    [root@hadoop001 hadoop]# useradd test
    [root@hadoop001 hadoop]# id test
    uid=502(test) gid=502(test) groups=502(test)
    gid: 主组 groups:所有组

删除用户
[root@hadoop001 hadoop]# userdel test
[root@hadoop001 hadoop]# id test
id: test: No such user

再次创建
    [root@hadoop001 hadoop]# useradd test
    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    Creating mailbox file: File exists


查看/home/xxx用户名称的文件夹
    [root@hadoop001 hadoop]# ll /home/
    total 12
    drwx------. 4 hadoop hadoop 4096 Apr 21 00:52 hadoop
    drwx------. 4 mysql  mysql  4096 Apr 20 19:08 mysql
    drwx------. 4 test   test   4096 May  7 10:37 test   需要把test 文件夹删除后 才能重新创建



用户和用户组的文件
    [root@hadoop001 ~]# cat /etc/passwd | grep test
    test:x:502:502::/home/test:/bin/bash
    [root@hadoop001 ~]# cat /etc/group | grep test
    test:x:502:


新增用户组
    [root@hadoop001 ~]# groupadd bigdata
    [root@hadoop001 ~]# id test
    uid=502(test) gid=502(test) groups=502(test)
    修改test用户的附加群组(所有组)
    [root@hadoop001 ~]# usermod -a -G bigdata test
    [root@hadoop001 ~]# id test
    uid=502(test) gid=502(test) groups=502(test),503(bigdata)
    修改test用户的主组(所有组)
    [root@hadoop001 ~]# usermod -g bigdata test
    [root@hadoop001 ~]# id test
    uid=502(test) gid=503(bigdata) groups=503(bigdata)
  1. 管道符 |
    [root@hadoop001 ~]# cat /etc/passwd | grep test
    test:x:502:503::/home/test:/bin/bash

  2. 查看命令帮助
    usermod --help
    man usermod

  3. 设置密码
    passwd test

  4. 切换用户 su [-] 用户名
    su 用户名
    [root@hadoop001 ~]# su hadoop
    [hadoop@hadoop001 root]$ pwd
    /root
    退出当前用户
    [hadoop@hadoop001 root]$ exit
    exit
    su - 用户名
    [root@hadoop001 ~]# su - hadoop
    [hadoop@hadoop001 ~]$ pwd
    /home/hadoop
    对比后发现:
    - 1.切换用户之后,执行环境变量文件.bash_profile
    2.且进入该用户的家目录

  1. exit 退出当前用户,返回上一次用户
  1. 临时获取root的权限 sudo
    [root@hadoop001 ~]# su - hadoop
    [hadoop@hadoop001 ~]$ sudo ls -l /root
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
    [sudo] password for hadoop:
    hadoop is not in the sudoers file. This incident will be reported.

    将一个用户添加到/etc/sudoers文件然后无密码
    [root@hadoop001 ~]# vi /etc/sudoers

    Allow root to run any commands anywhere

    root ALL=(ALL) ALL
    hadoop ALL=(root) NOPASSWD:ALL

    [hadoop@hadoop001 ~]$ ls -l /root
    ls: cannot open directory /root: Permission denied
    [hadoop@hadoop001 ~]$ sudo ls -l /root
    total 104
    -rw-------. 1 root root 1382 Apr 21 00:20 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Desktop
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Documents
    drwxr-xr-x. 2 root root 4096 Apr 26 15:50 Downloads
    -rw-r--r--. 1 root root 49565 Apr 21 00:20 install.log
    -rw-r--r--. 1 root root 10033 Apr 21 00:19 install.log.syslog
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Music
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Pictures
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Public
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Templates
    drwxr-xr-x. 2 root root 4096 Apr 21 00:25 Videos

21.进程
查看
[root@hadoop001 ~]# ps -ef |grep tail
root 4778 4758 0 11:16 pts/1 00:00:00 tail -f install.log
root 4802 4783 0 11:16 pts/2 00:00:00 tail -f install.log.syslog
root 4804 2173 0 11:16 pts/0 00:00:00 grep tail

第二列是pid
    [root@hadoop001 ~]# kill -9 4778

杀死关于tail命令的所有进程之前,给我ps -ef|grep tail查看确认清楚
    [root@hadoop001 ~]# kill -9 $(pgrep -f tail )
  1. 端口号
    方式一:通过进程的PID查看端口
    查看ssh的进程
    [root@hadoop001 ~]# ps -ef|grep ssh
    root 1641 1 0 09:40 ? 00:00:00 /usr/sbin/sshd
    root 1983 1641 0 09:40 ? 00:00:02 sshd: root@pts/0
    root 4754 1641 0 11:15 ? 00:00:00 sshd: root@pts/1
    root 4779 1641 0 11:16 ? 00:00:00 sshd: root@pts/2
    root 4815 2173 0 11:18 pts/0 00:00:00 grep ssh
    通过ssh的PID 查看端口
    [root@hadoop001 ~]# netstat -nlp | grep 1641
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1641/sshd
    tcp 0 0 :::22 :::* LISTEN 1641/sshd

    方式二:直接通过服务名查看端口
    [root@hadoop001 ~]# netstat -nlp | grep ssh
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1641/sshd
    tcp 0 0 :::22 :::* LISTEN 1641/sshd

你可能感兴趣的:(Linux基础命令)