Linux基本命令大全之Linux学习(一)

linux 常用操作:

常见的 linux 操作系统有 redhat、centos、ubuntu、federo、debian。
使用的 centos 的版本是 6.5 64 位。
shell 环境,类似于 windows 的 dos 环境。
linux 的环境中,有文件系统。只要一个根目录/。

1. 必须记住的命令

  1. id
    id 命令可以显示真实有效的用户 ID(UID) 和组 ID(GID)。UID 是对一个用户的单一身份标识。组 ID(GID)则对应多个UID。
  2. passwd
    用途:修改密码
    使用:直接输入命令 passwd 然后回车,根据提示输入即可。
  3. clear
    用途:清屏,把当前屏幕中的命令清除
    使用:输入 clear 直接回车
  4. su
    用途:切换到其他用户
    使用:输入 su root 回车,然后输入 root 密码;使用 exit 退出当前用户
  5. ls
    用途:查看目录下的内容。使用.开头的文件(夹)都是隐藏的。
    使用:
     输入 ls /home 回车,显示/home 下面的子目录或者文件
     输入 ls 直接回车,显示当前用户的 home 目录下的内容
     输入 ll 直接回车,显示如下内容
    [root@hadoop sys]# ll
    total 0
    drwxr-xr-x. 2 root root 0 Apr 20 17:53 block
    drwxr-xr-x. 16 root root 0 Apr 20 17:53 bus
    drwxr-xr-x. 41 root root 0 Apr 20 17:53 class
    drwxr-xr-x. 4 root root 0 Apr 20 17:53 dev
    drwxr-xr-x. 10 root root 0 Apr 20 17:53 devices
    drwxr-xr-x. 4 root root 0 Apr 20 17:53 firmware
    drwxr-xr-x. 4 root root 0 Apr 20 17:54 fs
    drwxr-xr-x. 2 root root 0 Apr 20 17:54 hypervisor
    drwxr-xr-x. 5 root root 0 Apr 20 17:53 kernel
    drwxr-xr-x. 100 root root 0 Apr 20 17:54 module
    drwxr-xr-x. 2 root root 0 Apr 20 17:54 power
     输入 ll -h /opt 直接回车,显示的文件大小,是以 K、M、G 作为单位的,方便查看大小
     输入 ll -a ~直接回车,显示当前用户的 home 目录下的所有文件,包含隐藏文件
  6. pwd
    用途:显示当前在 linux 文件系统中所在的位置
    使用:输入 pwd 直接回车
  7. cd
    用途:改变路径
    使用:
     输入 cd …直接回车,表示返回到上一级目录
     输入 cd /home/xxxxx 直接回车,表示进入到特定的目录下
     输入 cd ~直接回车,表示进入到当前用户的 home 目录下
  8. mkdir
    用途:创建文件夹
    使用:
     输入 mkdir dir1 直接回车,表示在当前目录下创建文件夹 dir1
     输入 mkdir -p dir2/dir22/dir222 直接回车,表示递归创建三级文件夹
  9. touch
    用途:创建空白文件
    使用:输入 touch f1 直接回车,创建一个空白文件 f1
  10. cp
    用途:复制文件
    使用:
     输入 cp a dir1 直接回车。如果目录 dir1 存在,则复制 a 到 dir1 中;如果不存在,
    复制成文件 dir1
     输入 cp -r dir1 dir2 直接回车。把目录 dir1 复制到 dir2 里面。
  11. mv
    用途:移动或者重命名
    使用:输入 mv a dir2 直接回车。如果目录 dir2 存在,则移动 a 到 dir2 中;如果不存在,
    把 a 重命名为 dir2
  12. rm
    用途:删除文件(夹)
    使用:
     输入 rm dir1 直接回车,可以删除空文件夹 dir1
     输入 rm -rf dir2 直接回车,可以删除非空文件夹 dir2,严禁乱用
  13. vi
    用途:编辑文件内容
    使用:
     输入 vi f1 直接回车,进入一个只读模式,这时候只能看不能编辑内容;输入字母 i,可
    以编辑内容;如果想保存退出,先按 Esc 键,再输入 Shift+:,再输入 wq(如果输入 q!
    表示不保存退出),最后回车。
    /string 查找字符串。查找下一个,按“n”即可
    :10 (直接跳转到第 10 行)
    G (跳到文件最后一行)
    $ (跳到一行的最后)
    ^ (跳到一行的开头)
    yy (复制当前行)
    2 yy (从当前行开始,复制 2 行)
    p (粘贴)
    dd (删除当前行)
  14. more
    用途:分屏查看文件的内容
    使用:输入 more f1 直接回车。如果文件内容一屏幕显示不下,按 Enter 键可以一行行显
    示;按空格键,可以一屏屏显示。
  15. cat
    用途:显示文件的所有内容
    使用:
     输入 cat /opt/nexus/LICENSES.txt 直接回车。
     输入 cat -n /opt/nexus/LICENSES.txt 直接回车,显示全部内容,每一行前面带有行号。
  16. tail
    用途:显示文件最后的一些内容
    使用:
     输入 tail /opt/nexus/LICENSES.txt 直接回车,显示文件的最后 10 行。
     输入 tail -5 /opt/nexus/LICENSES.txt 直接回车,显示文件的最后 5 行。
     输入 tail -f log 直接回车,动态查看文件内容变化。
  17. chmod
    用途:修改文件(夹)权限
    使用:
     输入 chmod g+w /tmp/hello 表示给 group 增加 w 权限
     输入 chmod o+x /tmp/hello 表示给 other 增加 x 权限
     输入 chmod a+x /tmp/hello 表示给 all(包含 user、group、other)增加 x 权限
     输入 chmod 777 /tmp/hello 表示所有人有所有权限
    linux 中的文件(夹)的权限有 9 位字符组成,字符可能是-、r、w、x。
    -表示没有权限
    r 表示读权限
    w 表示写权限
    x 表示执行权限
    r w - r - - r - -
    这 9 位字符的顺序是固定死的,不能变动。接下来收一下每一位的含义:
    前三位表示文件所有者的权限,其中第一位表示读权限,第二位表示写权限,第三位表示执
    行权限;
    中间三位表示所在组的权限,其中第一位表示读权限,第二位表示写权限,第三位表示执行
    权限;
    最后三位表示其他人的权限,其中第一位表示读权限,第二位表示写权限,第三位表示执行
    权限;
    字符 r w - r - - r - -可以使用数值表示,会更加简单。
    r 使用 4 表示,w 使用 2 表示,x 使用 1 表示,-使用 0 表示。
    上面的字符就可以表示为 420 400 400
    每一组的数字相加,就变为 644,这就是使用数值表示权限的最终结果。
    下面把权限 6 转换为字符表示形式:
    6 可以分解为 4+2+0,对应字符表示就是 rw-
    默认情况下,创建的文件的权限是 644,创建的文件夹的权限是 755。
  18. tar
    用途:文件(夹)打包和解包。通常使用压缩算法
    使用:
     tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
     tar -czvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
     tar -cjvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
     tar -xzvf /tmp/etc.tar.gz <==解包
    特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
    如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
    如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
  19. du
    用途:查看文件(夹)占有的大小
    使用:
     du -h / 查看根目录下所有的文件(夹)的大小
     du -h / --max-depth=1 > a 查看根目录下的第一级目录的大小,把结果输出到文件
    a 中
  20. df
    用途:查看磁盘的使用和剩余情况
    使用:输入 df -h /home 查看/home 的磁盘使用情况
  21. find
    用途:查找特定文件
    使用:输入 find /home -name f1 > f2 表示在/home 目录中查找文件名是 f1 的所有文
    件,把结果输出到文件 f2 中
  22. grep
    用途:在文件中查找内容
    使用:
     输入 grep -in --color=auto me /tmp/hello 表示从文件/tmp/hello 中查找含有 me
    的行,不区分大小,显示行号,且高亮所在行
     输入 grep -inv --color=auto me /tmp/hello 表示从文件/tmp/hello 中查找不含有
    me 的行,不区分大小,显示行号,且高亮所在行
  23. ping
    用途:测试网络是否联通
    用法:ping ip 测试是否联通 ip
  24. ifconfig
    用途:查看本机 ip
    使用:输入 ifconfig 直接回车
  25. netstat
    用途:查看网络的外部连接情况
    使用:netstat -anp | grep 8081 查询所有的连接情况,然后过滤含有 8081 的行
  26. service
    用途:查看 linux 已经安装的服务的情况
    使用:service iptables status|start|stop 查看防火墙的状态、启动防火墙、关闭防火墙
  27. iptables
    用途:防火墙
    使用:
     service iptables status 查看防火墙服务的运行情况
     service iptables stop 关闭防火墙的运行
  28. ps
    用途:查看 linux 的进程
    使用:输入 ps -ef |grep nexus 显示所有进程,过滤含有 nexus 的进程
    ps –A 列出所有的进程
    ps a 显示一个终端的所有进程,除了会话引线
    ps aux
  29. kill
    用途:杀死进程
    使用:kill -9 进程号 表示直接杀死特定进程
  30. chkconfig
    用途:显示操作系统安装的服务的自动启动情况
    使用:
     输入 chkconfig --list |grep iptables 表示查看服务 iptables 的自动启动情况
     输入 chkconfig iptables off 表示关闭 iptables 的自动启动
  31. ssh
    是 secure shell 意味着在使用的时候,对数据加密。
    用途:登录远程的服务器
    使用:
     ssh 用户名@ip 表示使用特定用户名登录远程 ip
     ssh 用户名@ip ‘命令’ 表示使用特定用户名登录远程 ip,运行命令
    实现 ssh 的免密码登录
  1. 执行 ssh-keygen -t rsa 然后一路回车,创建密钥
  2. 执行 ssh-copy-id -i 对方 ip 表示复制公钥到对方 ip
  1. scp
    用途:远程复制文件(夹)
    使用:
     执行 scp xxx root@ip:/home 表示复制本机的 xxx 文件到远程 ip,使用 root 登录,
    放到/home 目录下
     执行 scp -r dir1 root@ip:/home 表示复制本机的 dir1 文件夹到远程 ip,使用 root
    登录,放到/home 目录下
  2. echo 和变量
    用途:显示变量的值。在 linux 中,变量使用的时候,没有类型的声明。直接使用 age=23 的
    形式。
    使用:
     输入 echo KaTeX parse error: Unexpected character: '' at position 42: …age 没有定义,输出空白。 ̲ 输入 echo ‘age’回车,输出KaTeX parse error: Unexpected character: '' at position 16: age 表示单引号不解析变量 ̲ 输入 echo “age”回车,输出 23 表示双引号解析变量
     输入 echo $age回车,输出 23:command not found 表示飘号的作用是解析变量并
    且作为命令运行,相当于$()
    变量赋值的时候,=前后不能有空格。
    echo n a m e 相 当 于 name 相当于 name{name}
  3. export
    用途:export 的作用是让变量在子 shell 中生效。
    使用:输入 export age=23 表示变量 age 可以在子 shell 中使用(输入 sh 就可以进入子 shell)

2. 非必须的命令

  1. which
    用途:查找命令所在的路径
    使用:which java 查找 java 命令所在的位置
  2. hostname
    用途:显示当前的主机名
    使用:
     输入 hostname 显示当前主机名
     输入 hostname newname 修改当前会话中的主机名为 newname
    操作系统的主机名存放在配置文件中,该文件是/etc/sysconfig/network
    修改了主机名之后,需要修改 hostname 与 ip 的映射,该映射存放在/etc/hosts 中
  3. ln
    用途:ln 表示连接,分为硬连接和软连接
    使用:
    [oracle@Linux]$ touch f1 #创建一个测试文件 f1
    [oracle@Linux]$ ln f1 f2 #创建 f1 的一个硬连接文件 f2
    [oracle@Linux]$ ln -s f1 f3 #创建 f1 的一个符号连接文件 f3
    [oracle@Linux]$ ls -li # -i 参数显示文件的 inode 节点信息
  4. alias
    用途:给其他命令起一个名字
    使用:alias nt=’netstat -anp’ 表示使用 nt 作为一个命令,代替 netstat -anp 的写法
  5. free
    用途:查看内存的使用情况
    使用:输入 free -m 回车,以 MB 为单位显示内存的情况
  6. yum
    用途:使用 yum 安装、卸载软件。使用 yum 安装的时候,会自动安装关联的一些软件。
    使用:
     安装软件 yum -y install httpd 表示按照 httpd 软件
     查看安装 yum list installed
     删除软件 yum erase
  7. rpm
    用途:rpm 是 redhat 公司的 package manager,类似于 windows 下的 exe 文件的安装
    使用:
     查看安装 rpm -qa |grep …
     彻底删除 rpm -e --nodeps gdm-2.24.1-4.fc10.i386
  8. wget
    用途:从网络中下载一个文件
    使用:输入 wget url 表示下载该 url 表示的内容
  9. wc
    用途:统计单词数量
    使用:如下图
    47 表示行数量,325 表示单词数量
  10. chown
    用途:改变文件的所有者
    使用:chown wuchao:offline6 index.html 表示把 index.html 的所有者改为
    wuchao,所在组改为 offline6
  11. date
    用途:显示日期
    使用:输入 date 然后回车,显示当前时间
    格式化输出当前时间 date ‘+%Y-%m-%d %H:%M:%S’
    按照日期创建文件夹(注意 date 外面的飘号)
  12. 标准输入、标注输出、标准错误
    标准输入、输出、错误可以使用文件描述符 0、1、2 引用
    使用重定向可以把信息重定向到其他位置
    ls >file 或者 ls 1>file(ls >>file)
    lk 2>file(lk 是一个错误命令)
    ls >file 2>&1
    ls > /dev/null(把输出信息重定向到无底洞)
    例子:nohup command >/dev/null 2>&1 &
  13. nohup
    用于在后台执行命令 nohup command 1>nohup.out 2>&1 &10.2.14. read
    用途是从命令行读取内容。
    read 变量 1 变量 2 变量 3
    read -p ‘请输入姓名和年龄’ 变量 1 变量 2
  14. history
    用途是显示执行过的所有命令
    !4 表示执行第 4 条命令
  15. telnet
    可以在 dos 命令下登录 linux 环境。
    缺点是明文传输。

3. 数组

arr=(1 2 3) //初始化
echo ${arr[0]} //取值
echo ${arr[]} //显示数组中的全部内容
echo ${#arr[
]} //数组长度

4.if 判断

1、if 与[ 之间必须有空格
2、[ ]与判断条件之间也必须有空格
3、]与; 之间不能有空格
if [[ … ]]; then
elif[[ … ]]; then
elif[[ … ]]; then
else
fi
整数判断的表达式有 -gt、-lt、-ge、-le、-eq、-ne
字符串判断的表达式有 =、!= 、-z 判断长度为 0、-n 判断长度不为 0
文件判断的表达式有 -e 判断文件存在、-d 判断目录存在

5.for 循环

  1. 格式 1
    for(( i=0; i<10; i++))
    do
    echo $i
    done;
  2. 格式 2
    for i in 1 2 3 4 5
    do
    echo $i
    done
  3. 格式 3
    for i in {1…9}

6.source

用途:在当前 shell 环境下读取并执行 FileName 中的命令。
注:该命令通常用命令“.”来替代。

7. 安装 jdk

在 shell 中,能够执行的命令是一定在 PATH 变量中定义的。
安装时,先下载 jdk-8u91-linux-x64.tar.gz 这是一个使用 gzip 压缩的 tar 包。
执行 tar -zxvf jdk-8u91-linux-x64.tar.gz 解压缩,得到 jdk1.8.0_91
修改全局文件/etc/profile,在文件最后增加两行
export JAVA_HOME=/opt/jdk
export PATH=.: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
保存退出,执行 source /etc/profile。
如果需要配置自己使用而其他用户不使用命令,需要修改配置文件~/.bashrc,最后执行
source ~/.bashrc。

8.cygwin

在 windows 上模拟 linux 操作环境的工具,不能等同于虚拟机,好处是占有资源非常少。
切换 windows 的盘符时,与 linux 有所不同。见下面
中文乱码的解决方案 http://jingyan.baidu.com/article/a17d528532ba818099c8f263.html

9. shell 脚本

  1. 书写格式
    文件的第一行是#!/bin/sh
    运行之前,需要使用 chmod u+x a.sh 赋予执行权限
    在文件中,如果使用 java 命令失败,需要在文件内部写入 source /etc/profile。
  2. 执行方式
    bash -x 单步执行
    bash -n 语法检查
    练习:每分钟创建一个以时间命名的文件夹
  3. 位置参数
    类似于 public static void main(String[] args){ … }中的 args。
    $0 表示脚本本身
    $1 表示第一个参数
    $#表示参数的个数
    $*表示所有参数
  4. crontab
    用途:实现定时执行任务功能
    使用:
     编辑使用 crontab -e
    一共 6 列,分别是:分 时 日 月 周 命令
    查看使用 crontab -l
    删除任务 crontab -r
    查看 crontab 执行日志
    tail -f /var/log/cron
    注意:在 crontab 中只执行脚本,不要自己编写各种命令组合
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Colin_lqk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值