linux常用的命令及讲解

一.目录结构

在这里插入图片描述

ls 当前目录下的所有目录
ls -l 目录详细格式(等同于命令 ll)

二.目录管理

  • mkdir -p folder1/folder2
    没有folder1目录 则依次创建folder1和folder2

  • rmdir folder1/folder2
    删除名字为folder2的目录。

  • rmdir -p folder1/folder2
    删除名字为folder1里面的folder2这个子目录
    如果删除folder2这个子目录后,folder1也成了空目录的话,那么folder1也会一同被删除。
    如果删除folder2这个子目录后,folder1里还有其他目录的话,会报错,因为删除不掉folder1。

  • rm -rf folder1
    直接删除folder1,不管里面有没有目录或文件。

三.文件管理

  • cat cloudera-scm-server.log
    一次性显示全部内容

  • more cloudera-scm-server.log
    一次显示一面,但是只能从头往后(空格往后翻),推出按q

  • less cloudera-scm-server.log
    与 more 类似,但是比 more 更好的是,它可以往前翻页

  • tail -n -20 cloudera-scm-server.log

  • tail -n 20 cloudera-scm-server.log
    只显示尾部20行。

  • tail -n +20 cloudera-scm-server.log
    从第20行一直显示到最后

  • tail -20f cloudera-scm-server.log
    实时查看最后20行

  • which java和whereis java
    which在PATH变量指定的路径中搜索某个系统命令(可执行文件名称)的位置并且返回第一个搜索结果。
    whereis该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

[root@hadoop001 ~]# which java       //系统命令
/usr/java/jdk1.8.0_45/bin/java

[root@hadoop001 ~]# whereis java      //原始代码、二进制文件,或是帮助文件
java: /usr/share/java /usr/java/jdk1.8.0_45/bin/java

[root@hadoop001 /]# find / -name java    //所有程序
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/root/java
/usr/share/java
/usr/java
/usr/java/jdk1.8.0_45/jre/bin/java
/usr/java/jdk1.8.0_45/bin/java

补充知识点一:(环境变量的作用)

#env
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH        
//告诉系统java命令在/usr/java/jdk1.8.0_45/bin下,不然系统不知道java命令在哪

补充知识点二:(binary文件和源代码文件)
binary文件:二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用;
源代码文件:源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。

四.权限管理

  • groupadd -g 101 dba(-g:指定新建工作组的 id)
  • useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin([-d <登入目录>][-g <群组>][-G <群组>][-u ][用户帐号])
[root@hadoop39 local]# id mysqladmin
uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)
  • chown mysqladmin:dba /etc/my.cnf(将文件 my.cnf 的拥有者设为 mysqladmin,群体的使用者 dba )
  • chmod 640 /etc/my.cnf
  • chown -R mysqladmin:dba /usr/local/mysql(-R : 处理指定目录以及其子目录下的所有文件)
  • chmod +x /etc/rc.d/init.d/mysql(赋予可执行权限)

五.压缩与解压

在这里插入图片描述
打包压缩分清楚,打成tar包后可以压缩。

  • tar -xzvf jdk-8u45-linux-x64.tar.gz -C /usr/java/(x解包解压缩,z使用gzip方式,v显示过程,f指定包名)
  • tar -czvf mytar.tar.gz 1.txt
    将文件1.txt打包为mytar.tar.gz(c打包)

六.软件安装与卸载

  • rpm
[hadoop@hadoop000 ~]$ rpm -q pyparsing-1.5.6-9.el7.noarch
pyparsing-1.5.6-9.el7.noarch
[hadoop@hadoop000 ~]$ rpm -qa | grep mysql
mysql-community-client-5.6.47-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.47-2.el7.x86_64
mysql-community-server-5.6.47-2.el7.x86_64
mysql-community-common-5.6.47-2.el7.x86_64

noarch可以用在不同cpu,x86_64是64位的x86架构。

  • yum

rpm只能安装已经下载到本机上的rpm包,而yum能在线下载并安装rpm包,能更新系统,还能自动处理暴露包之间的依赖问题。

七.其他

  • ps aux 和ps -efps -ef | grep mysql(输出的进程,查询含有mysql的)
[root@hadoop001 ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 13:21 ?        00:00:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 13:21 ?        00:00:00 [kthreadd]
root          4      2  0 13:21 ?        00:00:00 [kworker/0:0H]

UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
[root@hadoop001 ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  2.5  0.0 125376  3872 ?        Ss   13:21   0:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    13:21   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    13:21   0:00 [kworker/0:0]

同ps -ef 不同的有列有
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态,S处于休眠状态;
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
  • chkconfig --add mysql
  • chkconfig --level 345 mysql on
hadoop001:mysqladmin:/usr/local/mysql:>chkconfig --list
mysql          	0:1:2:3:4:5:6:
[root@hadoop001 init.d]# service ntpd status
Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
  • crontab -e

八.参考文章

Linux下4个查找命令which、whereis、locate、find的总结
rpm命令与yum命令
Linux下systemctl命令和service、chkconfig命令的区别
CentOS7中systemctl的使用与CentOS6中service的区别

​​​​​​

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页