Linux基本命令(一)

Linux基本命令

1.用户

[root@hadoop001 ~]#
 登录的用户 机器的名称 家目录 ?

2.pwd

[root@hadoop001~]# cd /etc/
[root@hadoop001 etc]# pwd    # 查看当前光标所在的目录,显示从根目录/开始的绝对路径
/etc

3.cd切换

cd /home

[root@hadoop001 ~]# cd /home/
[root@hadoop001 home]# pwd
/home
[root@hadoop001 home]# 

cd 切家目录
cd ~ 切家目录 ~标识
cd - 回到上一次目录
cd /root 用户的家目录的绝对路径

[root@hadoop001 home]# cd ~
[root@hadoop001 ~]# cd -
/home
[root@hadoop001 home]#      
[root@hadoop001 home]# cd /root/
[root@hadoop001 ~]# 

cd …/ 回退上一层目录
cd …/…/ 回退2个目录

[root@hadoop001 pm]# cd ../
[root@hadoop001 etc]# cd -
/etc/pm
[root@hadoop001 pm]# cd ../../
[root@hadoop001 /]# pwd
/
[root@hadoop001 /]# 

4.目录 文件夹 路径

绝对路径 /根目录 以根目录

[root@hadoop001 home]# cd ~
[root@hadoop001 ~]# cd /home/hadoop/
[root@hadoop001 hadoop]# pwd
/home/hadoop
[root@hadoop001 hadoop]# 

相对路径 不以根目录为开始,以当前光标所在的目录为开始

[root@hadoop001 hadoop]# cd ../
[root@hadoop001 home]# cd hadoop/
[root@hadoop001 hadoop]# pwd
/home/hadoop
[root@hadoop001 hadoop]# 

5.clear 清空屏幕

[root@hadoop001 hadoop]# 

6.ls查看当前光标所在的目录和文件

[root@hadoop001 /]# ls
bin   dev  home        lib    media  opt   root       run   srv  tmp  var
boot  etc  jepson.log  lib64  mnt    proc  rouze.log  sbin  sys  usr
[root@hadoop001 /]# 

ls -l ==> 等价于ll

[root@hadoop001 /]# cd home/
[root@hadoop001 home]# ll
total 0
drwx------. 2 hadoop hadoop 62 Nov 18 11:32 hadoop
drwx------. 2 jepson jepson 99 Nov  5 22:46 jepson
drwx------. 4 rouze  rouze  95 Nov  5 16:08 rouze
[root@hadoop001 home]# ls -l
total 0
drwx------. 2 hadoop hadoop 62 Nov 18 11:32 hadoop
drwx------. 2 jepson jepson 99 Nov  5 22:46 jepson
drwx------. 4 rouze  rouze  95 Nov  5 16:08 rouze
[root@hadoop001 home]# 

ls -l -a 查看当前的文件文件夹和隐藏文件文件夹,以.开头

[root@hadoop001 sys]# ll -a
total 0
dr-xr-xr-x.  13 root root   0 Nov 18 10:15 .
dr-xr-xr-x.  17 root root 259 Nov  5 14:14 ..
drwxr-xr-x.   2 root root   0 Nov 18 11:52 block
drwxr-xr-x.  34 root root   0 Nov 18 11:52 bus
drwxr-xr-x.  55 root root   0 Nov 18 11:52 class
drwxr-xr-x.   4 root root   0 Nov 18 11:52 dev
drwxr-xr-x.  16 root root   0 Nov 18 11:52 devices
drwxr-xr-x.   6 root root   0 Nov 18 11:52 firmware
drwxr-xr-x.   7 root root   0 Nov 18 11:52 fs
drwxr-xr-x.   2 root root   0 Nov 18 11:52 hypervisor
drwxr-xr-x.  10 root root   0 Nov 18 11:52 kernel
drwxr-xr-x. 170 root root   0 Nov 18 11:52 module
drwxr-xr-x.   2 root root   0 Nov 18 11:52 power
[root@hadoop001 sys]# ls -l -a
total 0
dr-xr-xr-x.  13 root root   0 Nov 18 10:15 .
dr-xr-xr-x.  17 root root 259 Nov  5 14:14 ..
drwxr-xr-x.   2 root root   0 Nov 18 11:52 block
drwxr-xr-x.  34 root root   0 Nov 18 11:52 bus
drwxr-xr-x.  55 root root   0 Nov 18 11:52 class
drwxr-xr-x.   4 root root   0 Nov 18 11:52 dev
drwxr-xr-x.  16 root root   0 Nov 18 11:52 devices
drwxr-xr-x.   6 root root   0 Nov 18 11:52 firmware
drwxr-xr-x.   7 root root   0 Nov 18 11:52 fs
drwxr-xr-x.   2 root root   0 Nov 18 11:52 hypervisor
drwxr-xr-x.  10 root root   0 Nov 18 11:52 kernel
drwxr-xr-x. 170 root root   0 Nov 18 11:52 module
drwxr-xr-x.   2 root root   0 Nov 18 11:52 power
[root@hadoop001 sys]# 

ll -h 查看文件的大小

[root@hadoop001 software]# ll -h
total 684M
-rw-r--r--. 1 root root 8.1M Aug 13 20:38 apache-maven-3.3.9-bin.tar.gz
-rw-r--r--. 1 root root 8.5M Aug 16 16:00 apache-maven-3.5.4-bin.tar.gz
-rw-r--r--. 1 root root 5.2M Aug 23 01:02 hadoop-2.6.0-cdh5.15.1-src.tar
-rw-r--r--. 1 root root  46M Aug 11 22:44 hadoop-2.6.0-cdh5.15.1-src.tar.gz
-rw-r--r--. 1 root root 242M Aug 27 21:22 hadoop-2.6.0-cdh5.15.1.tar.gz
-rw-r--r--. 1 root root 147M Aug 13 20:35 jdk-7u80-linux-x64.tar.gz
-rw-r--r--. 1 root root 183M Aug 16 15:57 jdk-8u191-linux-x64.tar.gz
-rw-r--r--. 1 root root 2.3M Aug 13 20:41 protobuf-2.5.0.tar.gz
-rw-r--r--. 1 root root  28M Aug 16 17:56 scala-2.11.12.tgz
-rw-r--r--. 1 root root  15M Aug 16 15:20 spark-2.4.3.tar.gz
[root@hadoop001 software]# 

ll -rt 按时间排序

[root@hadoop001 software]# ll -rt
total 699652
-rw-r--r--. 1 root root  48019244 Aug 11 22:44 hadoop-2.6.0-cdh5.15.1-src.tar.gz
-rw-r--r--. 1 root root 153530841 Aug 13 20:35 jdk-7u80-linux-x64.tar.gz
-rw-r--r--. 1 root root   8491533 Aug 13 20:38 apache-maven-3.3.9-bin.tar.gz
-rw-r--r--. 1 root root   2401901 Aug 13 20:41 protobuf-2.5.0.tar.gz
-rw-r--r--. 1 root root  15558928 Aug 16 15:20 spark-2.4.3.tar.gz
-rw-r--r--. 1 root root 191753373 Aug 16 15:57 jdk-8u191-linux-x64.tar.gz
-rw-r--r--. 1 root root   8842660 Aug 16 16:00 apache-maven-3.5.4-bin.tar.gz
-rw-r--r--. 1 root root  29114457 Aug 16 17:56 scala-2.11.12.tgz
-rw-r--r--. 1 root root   5436188 Aug 23 01:02 hadoop-2.6.0-cdh5.15.1-src.tar
-rw-r--r--. 1 root root 253270787 Aug 27 21:22 hadoop-2.6.0-cdh5.15.1.tar.gz
[root@hadoop001 software]# 

7.如何命令帮助

[root@hadoop001 software]# ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
                               1,048,576 bytes; see SIZE format below
  -B, --ignore-backups       do not list implied entries ending with ~
  -c                         with -lt: sort by, and show, ctime (time of last
                               modification of file status information);
                               with -l: show ctime and sort by name;
                               otherwise: sort by ctime, newest first
  -C                         list entries by columns
      --color[=WHEN]         colorize the output; WHEN can be 'never', 'auto',
                               or 'always' (the default); more info below
  -d, --directory            list directories themselves, not their contents
  -D, --dired                generate output designed for Emacs' dired mode
  -f                         do not sort, enable -aU, disable -ls --color
  -F, --classify             append indicator (one of */=>@|) to entries
      --file-type            likewise, except do not append '*'
      --format=WORD          across -x, commas -m, horizontal -x, long -l,
                               single-column -1, verbose -l, vertical -C
      --full-time            like -l --time-style=full-iso
  -g                         like -l, but do not list owner
      --group-directories-first
                             group directories before files;
                               can be augmented with a --sort option, but any
                               use of --sort=none (-U) disables grouping
  -G, --no-group             in a long listing, don't print group names
  -h, --human-readable       with -l, print sizes in human readable format
                               (e.g., 1K 234M 2G)
      --si                   likewise, but use powers of 1000 not 1024
  -H, --dereference-command-line
                             follow symbolic links listed on the command line
      --dereference-command-line-symlink-to-dir
                             follow each command line symbolic link
                               that points to a directory
      --hide=PATTERN         do not list implied entries matching shell PATTERN
                               (overridden by -a or -A)
      --indicator-style=WORD  append indicator with style WORD to entry names:
                               none (default), slash (-p),
                               file-type (--file-type), classify (-F)
  -i, --inode                print the index number of each file
  -I, --ignore=PATTERN       do not list implied entries matching shell PATTERN
  -k, --kibibytes            default to 1024-byte blocks for disk usage
  -l                         use a long listing format
  -L, --dereference          when showing file information for a symbolic
                               link, show information for the file the link
                               references rather than for the link itself
  -m                         fill width with a comma separated list of entries
  -n, --numeric-uid-gid      like -l, but list numeric user and group IDs
  -N, --literal              print raw entry names (don't treat e.g. control
                               characters specially)
  -o                         like -l, but do not list group information
  -p, --indicator-style=slash
                             append / indicator to directories
  -q, --hide-control-chars   print ? instead of nongraphic characters
      --show-control-chars   show nongraphic characters as-is (the default,
                               unless program is 'ls' and output is a terminal)
  -Q, --quote-name           enclose entry names in double quotes
      --quoting-style=WORD   use quoting style WORD for entry names:
                               literal, locale, shell, shell-always, c, escape
  -r, --reverse              reverse order while sorting
  -R, --recursive            list subdirectories recursively
  -s, --size                 print the allocated size of each file, in blocks
  -S                         sort by file size
      --sort=WORD            sort by WORD instead of name: none (-U), size (-S),
                               time (-t), version (-v), extension (-X)
      --time=WORD            with -l, show time as WORD instead of default
                               modification time: atime or access or use (-u)
                               ctime or status (-c); also use specified time
                               as sort key if --sort=time
      --time-style=STYLE     with -l, show times using style STYLE:
                               full-iso, long-iso, iso, locale, or +FORMAT;
                               FORMAT is interpreted like in 'date'; if FORMAT
                               is FORMAT1<newline>FORMAT2, then FORMAT1 applies
                               to non-recent files and FORMAT2 to recent files;
                               if STYLE is prefixed with 'posix-', STYLE
                               takes effect only outside the POSIX locale
  -t                         sort by modification time, newest first
  -T, --tabsize=COLS         assume tab stops at each COLS instead of 8
  -u                         with -lt: sort by, and show, access time;
                               with -l: show access time and sort by name;
                               otherwise: sort by access time
  -U                         do not sort; list entries in directory order
  -v                         natural sort of (version) numbers within text
  -w, --width=COLS           assume screen width instead of current value
  -x                         list entries by lines instead of by columns
  -X                         sort alphabetically by entry extension
  -1                         list one file per line

SELinux options:

  --lcontext                 Display security context.   Enable -l. Lines
                             will probably be too wide for most displays.
  -Z, --context              Display security context so it fits on most
                             displays.  Displays only mode, user, group,
                             security context and file name.
  --scontext                 Display only security context and file name.
      --help     display this help and exit
      --version  output version information and exit

SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

Using color to distinguish file types is disabled both by default and
with --color=never.  With --color=auto, ls emits color codes only when
standard output is connected to a terminal.  The LS_COLORS environment
variable can change the settings.  Use the dircolors command to set it.

Exit status:
 0  if OK,
 1  if minor problems (e.g., cannot access subdirectory),
 2  if serious trouble (e.g., cannot access command-line argument).

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'ls invocation'
[root@hadoop001 software]# 

8.目录 文件夹

mkdir 创建文件夹

[root@hadoop001 jepson]# mkdir a   //创建一个文件夹
[root@hadoop001 jepson]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 18 13:00 a
[root@hadoop001 jepson]# mkdir -p b/c/d  //创建多级文件夹
[root@hadoop001 jepson]# cd b/c/d
[root@hadoop001 d]# pwd
/home/jepson/b/c/d
[root@hadoop001 d]#[root@hadoop001 d]# cd /home/jepson/
[root@hadoop001 jepson]# mkdir 1 2 3  //创建多个文件夹
[root@hadoop001 jepson]# ll
total 0
drwxr-xr-x. 2 root root  6 Nov 18 13:06 1
drwxr-xr-x. 2 root root  6 Nov 18 13:06 2
drwxr-xr-x. 2 root root  6 Nov 18 13:06 3
drwxr-xr-x. 2 root root  6 Nov 18 13:00 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
[root@hadoop001 jepson]# 

9.mv移动 cp复制/拷贝

mv移动 始终只有一份

[root@hadoop001 jepson]# touch hadoop.log  //创建hadoop.log文件
[root@hadoop001 jepson]# echo "www.baidu.com" >> hadoop.log //写入内容
[root@hadoop001 jepson]# mv hadoop.log 1   //移动文件
[root@hadoop001 jepson]# cd 1
[root@hadoop001 1]# ll  //检查结果
total 4
-rw-r--r--. 1 root root 14 Nov 18 13:10 hadoop.log
[root@hadoop001 1]# cd ..
[root@hadoop001 jepson]# mv 1/hadoop.log ./hadoop.log001 //可以利用mv修改名称
[root@hadoop001 jepson]# ll
total 4
drwxr-xr-x. 2 root root  6 Nov 18 13:17 1
drwxr-xr-x. 2 root root  6 Nov 18 13:06 2
drwxr-xr-x. 2 root root  6 Nov 18 13:06 3
drwxr-xr-x. 2 root root  6 Nov 18 13:00 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root 14 Nov 18 13:10 hadoop.log001
[root@hadoop001 jepson]# 
 

cp复制/拷贝 原文件不动,新增一份

[root@hadoop001 jepson]# cp hadoop.log001 ./hadoop.log002  //复制也可以修改名字
[root@hadoop001 jepson]# ll
total 8
drwxr-xr-x. 2 root root  6 Nov 18 13:17 1
drwxr-xr-x. 2 root root  6 Nov 18 13:06 2
drwxr-xr-x. 2 root root  6 Nov 18 13:06 3
drwxr-xr-x. 2 root root  6 Nov 18 13:00 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root 14 Nov 18 13:10 hadoop.log001
-rw-r--r--. 1 root root 14 Nov 18 13:23 hadoop.log002
[root@hadoop001 jepson]# cp hadoop.log001 a/  //也可以不修改
[root@hadoop001 jepson]# cd a
[root@hadoop001 a]# ll
total 4
-rw-r--r--. 1 root root 14 Nov 18 13:24 hadoop.log001
[root@hadoop001 a]# 

mv比cp速度快哦!

10.如何创建一个空文件 或者把一个文件设置为空

touch baidu.log 如何创建一个空文件
echo “” > baidu.log1 慎用
cat /dev/null > hadoop.log001 把一个文件设置为空

[root@hadoop001 jepson]# touch baidu.log
[root@hadoop001 jepson]# echo "" > baidu.log001 //非空文件,不建议使用
[root@hadoop001 jepson]# ll
total 12
drwxr-xr-x. 2 root root  6 Nov 18 13:17 1
drwxr-xr-x. 2 root root  6 Nov 18 13:06 2
drwxr-xr-x. 2 root root  6 Nov 18 13:06 3
drwxr-xr-x. 2 root root 27 Nov 18 13:24 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root  0 Nov 18 13:26 baidu.log
-rw-r--r--. 1 root root  1 Nov 18 13:27 baidu.log001
-rw-r--r--. 1 root root 14 Nov 18 13:10 hadoop.log001
-rw-r--r--. 1 root root 14 Nov 18 13:23 hadoop.log002
[root@hadoop001 jepson]# cat /dev/null > hadoop.log001  //同样可以将文件清空,生产中用的最多
[root@hadoop001 jepson]# ll
total 8
drwxr-xr-x. 2 root root  6 Nov 18 13:17 1
drwxr-xr-x. 2 root root  6 Nov 18 13:06 2
drwxr-xr-x. 2 root root  6 Nov 18 13:06 3
drwxr-xr-x. 2 root root 27 Nov 18 13:24 a
drwxr-xr-x. 3 root root 15 Nov 18 13:01 b
-rw-r--r--. 1 root root  0 Nov 18 13:26 baidu.log
-rw-r--r--. 1 root root  1 Nov 18 13:27 baidu.log001
-rw-r--r--. 1 root root  0 Nov 18 13:33 hadoop.log001
-rw-r--r--. 1 root root 14 Nov 18 13:23 hadoop.log002
[root@hadoop001 jepson]# 

11.查看文件内容

cat 文件内容一下子全部显示

[root@hadoop001 log]# cat yum.log 
Nov 03 21:49:06 Installed: lrzsz-0.12.20-36.el7.x86_64
Nov 03 21:54:30 Installed: net-tools-2.0-0.25.20131004git.el7.x86_64
Nov 03 22:08:30 Installed: 1:perl-parent-0.225-244.el7.noarch
Nov 03 22:08:30 Installed: perl-HTTP-Tiny-0.033-3.el7.noarch
Nov 03 22:08:30 Installed: perl-podlators-2.5.1-3.el7.noarch
Nov 03 22:08:30 Installed: perl-Pod-Perldoc-3.20-4.el7.noarch
Nov 03 22:08:30 Installed: 1:perl-Pod-Escapes-1.04-294.el7_6.noarch
Nov 03 22:08:30 Installed: perl-Text-ParseWords-3.29-4.el7.noarch
Nov 03 22:08:30 Installed: perl-Encode-2.51-7.el7.x86_64
Nov 03 22:08:30 Installed: perl-Pod-Usage-1.63-3.el7.noarch
Nov 03 22:08:30 Installed: 4:perl-libs-5.16.3-294.el7_6.x86_64
Nov 03 22:08:30 Installed: 4:perl-macros-5.16.3-294.el7_6.x86_64
Nov 03 22:08:30 Installed: perl-Storable-2.45-3.el7.x86_64
Nov 03 22:08:30 Installed: perl-Exporter-5.68-3.el7.noarch
Nov 03 22:08:30 Installed: perl-constant-1.27-2.el7.noarch
Nov 03 22:08:30 Installed: perl-Time-Local-1.2300-2.el7.noarch
Nov 03 22:08:30 Installed: perl-Carp-1.26-244.el7.noarch
Nov 03 22:08:30 Installed: 4:perl-Time-HiRes-1.9725-3.el7.x86_64
Nov 03 22:08:30 Installed: perl-PathTools-3.40-5.el7.x86_64
Nov 03 22:08:30 Installed: perl-Scalar-List-Utils-1.27-248.el7.x86_64
Nov 03 22:08:30 Installed: perl-File-Temp-0.23.01-3.el7.noarch
Nov 03 22:08:30 Installed: perl-File-Path-2.09-2.el7.noarch
Nov 03 22:08:30 Installed: perl-threads-shared-1.43-6.el7.x86_64
Nov 03 22:08:30 Installed: perl-threads-1.87-4.el7.x86_64
Nov 03 22:08:30 Installed: perl-Filter-1.49-3.el7.x86_64
Nov 03 22:08:30 Installed: perl-Socket-2.010-4.el7.x86_64
Nov 03 22:08:31 Installed: 1:perl-Pod-Simple-3.28-4.el7.noarch
Nov 03 22:08:31 Installed: perl-Getopt-Long-2.40-3.el7.noarch
Nov 03 22:08:32 Installed: 4:perl-5.16.3-294.el7_6.x86_64
Nov 03 22:08:32 Installed: gpm-libs-1.20.7-6.el7.x86_64
Nov 03 22:08:32 Installed: 2:vim-filesystem-7.4.629-6.el7.x86_64
Nov 03 22:08:34 Installed: 2:vim-common-7.4.629-6.el7.x86_64
Nov 03 22:08:34 Installed: 2:vim-enhanced-7.4.629-6.el7.x86_64
[root@hadoop001 log]# 

more 文件内容一页一页的往下翻,按空格键往下,回退不了,按q退出,按百分比。
less 文件内容 往下 往上 按上下箭头的按键 按q键退出

实时查看文件
tail -f xxx.log

[root@hadoop001 jepson]# tail -f baidu.log  
//实时监控文件内容的变化,但文件被删除过后,监控将失效
123
56

tail -F xxx.log -f+ retry

[root@hadoop001 jepson]# tail -F baidu.log  
//当文件被删后,从创建,该文件仍然被监控
123456
tail: baidu.log: file truncated
789
shanghai
tail: ‘baidu.log’ has become inaccessible: No such file or directory
beijing

总结:tail -f 没有tail -F强大,生产中尽量使用tail -F

12.当ERROR 如何定位

方法一:文件内容很小 几十兆,上传给window,用editplus工具打开上传下载
yum install -y lrzsz 下载上传和下载命令

方法二:文件内容很大 几百兆 2G,cat xxx.log | grep error
命令输出结果 | 命令输入的 管道符
grep过滤

[root@hadoop001 jepson]# cat error.log | grep error
error
[root@hadoop001 jepson]# 

cat xxx.log | grep -A 10 error后10行

[root@hadoop001 jepson]# cat error.log | grep -A 10 error
error
1
2
3
4
5
6
7
8
9
10
[root@hadoop001 jepson]# 

cat xxx.log | grep -B 10 error前10行

[root@hadoop001 jepson]# cat error.log | grep -B 10 error
11
12
13
14
15
16
17
18
19
20
error
[root@hadoop001 jepson]# 

cat xxx.log | grep -C 10 error 前后各10行 经常用 迅速定位error上下文

[root@hadoop001 jepson]# cat error.log | grep -C 10 error
11
12
13
14
15
16
17
18
19
20
error
1
2
3
4
5
6
7
8
9
10
[root@hadoop001 jepson]# 

tail -300f messages 实时查看倒数300行文件
tail -300F messages 不能这样写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值