企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 查看当前系统的时间 date ~~~ $ date +%Y-%m-%d 2016-05-18 $ date +%Y-%m-%d --date="-1 day" #加减也可以 month | year 2016-05-17 ~~~ 设置时间 ~~~ date -s "2016-05-23 01:01" ## 修改时间 ~~~ 修改时间后,需要写入硬件bios才能在重启之后依然生效 ~~~ hwclock -w ~~~ # 查看有谁在线(哪些人登陆到了服务器) who 查看当前在线 ~~~ $ who root tty1 2016-05-18 11:46 hadoop tty3 2016-05-18 11:46 hadoop pts/0 2016-05-18 10:57 (192.168.33.1) ~~~ last 查看最近的登陆历史记录 ~~~ $ last -3 hadoop tty3 Wed May 18 11:46 still logged in root tty1 Wed May 18 11:46 still logged in hadoop pts/0 192.168.33.1 Wed May 18 10:57 still logged in ~~~ # 关机/重启 ~~~ ## 关机(必须用root用户) shutdown -h now ## 立刻关机 shutdown -h +10 ## 10分钟以后关机 shutdown -h 12:00:00 ##12点整的时候关机 halt # 等于立刻关机 ~~~ ~~~ ## 重启 shutdown -r now reboot # 等于立刻重启 ~~~ # 退出当前进程 ~~~ ctrl+c 有些程序也可以用q键退出 ~~~ # 挂起当前进程 ~~~ ctrl+z ## 进程会挂起到后台 bg jobid ## 让进程在后台继续执行 fg jobid ## 让进程回到前台 ~~~ # echo 相当于java中`System.out.println(userName)` ~~~ [root@localhost bbb]# a="asd" [root@localhost bbb]# [root@localhost bbb]# echo a a [root@localhost bbb]# echo $a asd ~~~ # 查看文件内容 ~~~ cat somefile 一次性将文件内容全部输出(控制台) 分页查看文件的命令: more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q) less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword) 跳到文件末尾: G 跳到文件首行: gg 退出less : q tail -10 install.log 查看文件尾部的10行 tail +10 install.log 查看文件 10-->末行 tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件 tail -F install.log 大F按照文件名来跟踪 head -10 install.log 查看文件头部的10行 ~~~ # 打包压缩 1、gzip压缩 ~~~ gzip a.txt ~~~ 2、解压 ~~~ gunzip a.txt.gz gzip -d a.txt.gz ~~~ 3、bzip2压缩 ~~~ bzip2 a ~~~ 4、解压 ~~~ bunzip2 a.bz2 bzip2 -d a.bz2 ~~~ 5、打包:将指定文件或文件夹 ~~~ tar -cvf bak.tar ./aaa ~~~ 将/etc/password追加文件到bak.tar中(r) ~~~ tar -rvf bak.tar /etc/password ~~~ 6、解压 ~~~ tar -xvf bak.tar ~~~ 7、打包并压缩 ~~~ tar -zcvf a.tar.gz aaa/ ~~~ 8、解包并解压缩(重要的事情说三遍!!!) ~~~ tar -zxvf a.tar.gz ~~~ 解压到/usr/下 ~~~ tar -zxvf a.tar.gz -C /usr ~~~ 9、查看压缩包内容 ~~~ tar -ztvf a.tar.gz zip/unzip ~~~ 10、打包并压缩成bz2 ~~~ tar -jcvf a.tar.bz2 ~~~ 11、解压bz2 ~~~ tar -jxvf a.tar.bz2 ~~~ # 查找命令 1、查找可执行的命令所在的路径: ~~~ which ls ~~~ 2、查找可执行的命令和帮助的位置: ~~~ whereis ls ~~~ 3、从某个文件夹开始查找文件 ~~~ find / -name "hadooop*" find / -name "hadooop*" -ls ~~~ 5、查找并删除 ~~~ find / -name "hadooop*" -ok rm {} \; find / -name "hadooop*" -exec rm {} \; ~~~ 6、查找用户为hadoop的文件 ~~~ find /usr -user hadoop -ls ~~~ 7、查找用户为hadoop的文件夹 ~~~ find /home -user hadoop -type d -ls ~~~ 8、查找权限为777的文件 ~~~ find / -perm -777 -type d -ls ~~~ # grep 1. 基本使用 查询包含hadoop的行 ~~~ grep hadoop /etc/password grep aaa ./*.txt ~~~ 2. cut截取以:分割保留第七段 ~~~ grep hadoop /etc/passwd | cut -d: -f7 ~~~ 3. 查询不包含hadoop的行 ~~~ grep -v hadoop /etc/passwd ~~~ 4. 正则表达包含hadoop ~~~ grep 'hadoop' /etc/passwd ~~~ 5. 正则表达(点代表任意一个字符) ~~~ grep 'h.*p' /etc/passwd ~~~ 6. 正则表达以hadoop开头 ~~~ grep '^hadoop' /etc/passwd ~~~ 7. 正则表达以hadoop结尾 ~~~ grep 'hadoop$' /etc/passwd ~~~ 正则表达式的简单规则: . : 任意一个字符 a* : 任意多个a(零个或多个a) a? : 零个或一个a a+ : 一个或多个a .* : 任意多个任意字符 \. : 转义. o\{2\} : o重复两次 查找不是以#开头的行 ~~~ grep -v '^#' a.txt | grep -v '^$' ~~~ 以h或r开头的 ~~~ grep '^[hr]' /etc/passwd ~~~ 不是以h和r开头的 ~~~ grep '^[^hr]' /etc/passwd ~~~ 不是以h到r开头的 ~~~ grep '^[^h-r]' /etc/passwd ~~~ # 权限 linux文件权限的描述格式解读 ~~~ drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755) ~~~ ~~~ d:标识节点类型(d:文件夹 -:文件 l:链接) r:可读 w:可写 x:可执行 第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行 第二组r-x: ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行 第三组r-x: ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行 ~~~ 2. 修改文件权限 ~~~ chmod g-rw haha.dat ## 表示将haha.dat对所属组的rw权限取消 chmod o-rw haha.dat ## 表示将haha.dat对其他人的rw权限取消 chmod u+x haha.dat ## 表示将haha.dat对所属用户的权限增加x chmod a-x haha.dat ## 表示将haha.dat对所用户取消x权限 ~~~ 也可以用数字的方式来修改权限 ~~~ chmod 664 haha.dat ~~~ 就会修改成 `rw-rw-r--` 如果要将一个文件夹的所有内容权限统一修改,则可以-R参数 ~~~ chmod -R 770 aaa/ ~~~ 3. 修改文件所有权 ~~~ <只有root权限能执行> chown angela aaa ## 改变所属用户 chown :angela aaa ## 改变所属组 chown angela:angela aaa/ ## 同时修改所属用户和所属组 ~~~ 补充: r: 对文件来说,是可读取内容; 对文件夹来说,是可以ls w: 对文件来说,是可修改文件的内容;对文件夹来说,是可以在其中创建或者删除子节点 x: 对文件来说,是能否运行这个文件;对文件夹来说,是能否cd进入这个目录 # 用户组 添加一个叫america的组 ~~~ groupadd america ~~~ 将jerry添加到america组中 ~~~ usermod -g america jerry ~~~ 将tomcat用户从root组和sys组删除 ~~~ gpasswd -d tomcat root gpasswd -d tomcat sys ~~~ 将america组名修改为am ~~~ groupmod -n am america ~~~ 为用户配置sudo权限 用root编辑 vi /etc/sudoers 在文件的如下位置,为hadoop添加一行即可 ~~~ root ALL=(ALL) ALL hadoop ALL=(ALL) ALL ~~~ 然后,hadoop用户就可以用sudo来执行系统级别的指令 ~~~ $ sudo useradd huangxiaoming ~~~ # 系统服务管理 ~~~ service --status-all # 查看系统所有的后台服务进程 service sshd status # 查看指定的后台服务进程的状态 service sshd stop service sshd start service sshd restart 配置后台服务进程的开机自启 chkconfig httpd on ## 让httpd服务开机自启 chkconfig httpd off ## 让httpd服务开机不要自启 [root@localhost ~]# chkconfig httpd off [root@localhost ~]# chkconfig --list | grep httpd httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@localhost ~]# chkconfig --level 35 httpd on [root@localhost ~]# chkconfig --list | grep httpd httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off ~~~ # 系统启动级别管理 vi /etc/inittab ~~~ # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode ## 没有图形界面的全功能的多用户的启动级别 # 4 - unused # 5 - X11 ## 有图形界面的启动级别 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: ## 配置默认启动级别 ## 通常将默认启动级别设置为:3 ~~~ # 进程管理 top free ps -ef | grep ssh kill -9 2358 ## 将指定进程号的进程杀死 注意:grep搜索关键词的时候会把自己也搜索出来,对比以下两种写法 ~~~ #ps -ef | grep sixunhuan root 2857 2465 30 02:41 pts/0 00:00:07 sh sixunhuan.sh root 2874 2858 0 02:42 pts/1 00:00:00 grep sixunhuan # ps -ef | grep sixunhuan | grep -v grep root 2857 2465 34 02:41 pts/0 00:00:25 sh sixunhuan.sh # kill -9 2857 ~~~ # 主机名配置 1. 查看主机名 ~~~ hostname ~~~ 2. 修改主机名(重启后无效) ~~~ hostname hadoop ~~~ 3. 修改主机名(重启后永久生效) ~~~ vi /ect/sysconfig/network ~~~ # IP地址配置 修改IP地址 1. 方式一:setup 用root输入setup命令,进入交互式修改界面 2. 方式二:修改配置文件 (重启后永久生效) ~~~ vi /etc/sysconfig/network-scripts/ifcfg-eth0 ~~~ 3. 方式三:ifconfig命令 (重启后无效) ~~~ ifconfig eth0 192.168.12.22 ~~~ # jdk安装 1. 上传jdk压缩包 通过sftp工具上传即可 2. 解压jdk压缩包 ~~~ tar -zxvf jdk-7u67-linux-x64.gz -C /usr/local/ ~~~ 3. 修改环境变量PATH ~~~ vi /etc/profile 在文件最后加两行: export JAVA_HOME=/usr/local/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin ~~~ 4. 让环境变量生效 ~~~ source /etc/profile ~~~ 即可 # Tomcat安装 ~~~ tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /usr/local/ cd /usr/local/apache-tomcat-7.0.47/bin/ ./startup.sh ~~~ # 安装mysql服务 ~~~ 可以用yum方式来安装,此处演示在本地使用rpm包安装 [root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm 1、报错——缺少依赖包perl error: Failed dependencies: perl is needed by MySQL-server-5.1.73-1.glibc23.i386 解决:yum install -y perl-devel 2、报错——缺少依赖包libc.so.6 [root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm error: Failed dependencies: libc.so.6 is needed by MySQL-server-5.1.73-1.glibc23.i386 解决:yum install -y libc.so.6 3、报错——缺少依赖包 libgcc_s.so.1 [root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm error: Failed dependencies: libgcc_s.so.1 is needed by MySQL-server-5.1.73-1.glibc23.i386 解决:yum install -y libc.so.1 4、报错——依赖包冲突 [root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm conflicts with file from package mysql-libs-5.1.73-5.el6_6.x86_64 解决: 卸载依赖的冲突包: rpm -e mysql-libs-5.1.73-5.el6_6 --nodeps 5、安装完成——注意提示信息 再次执行安装 [root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%] PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h mini password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation ** 补充: 如果发生rpm包冲突conflict,怎么处理 首先,找到有哪些包冲突 rpm -qa | grep mysql 然后,卸载冲突的包 rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps ~~~ # 安装mysql客户端程序 ~~~ 1、用rpm命令安装客户端 [root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm error: Failed dependencies: libncursesw.so.5 is needed by MySQL-client-5.1.73-1.glibc23.i386 报错缺依赖,解决之: yum install -y libncursesw.so.5 ## yum本地源需要更换光盘为dvd2 再次执行安装 [root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%] ~~~ # 修改mysql用户root密码 ~~~ 安装完成后,先确定mysql服务进程是否启动 netstat -nltp 如果有mysql,会监听3306端口 如果没有,则手动启动 service mysql start 1、按照前面的提示,修改密码 [root@mini ~]# /usr/bin/mysql_secure_installation 进入交互式提示设置,按提示操作即可 补充:在资料中又给了一个5.6的mysql版本,这个安装完成后,mysql的root密码是自动生成的,注意看提示,密码保存在哪个位置 /root/.mysql_secret 安装完成后,直接用这个生成的随机密码即可登录mysql 进入mysql后当然可以使用sql来修改root的密码 mysql>set password=password("root"); mysql>flush privileges; 4.5.4 开启mysql的远程登录权限 mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; ~~~ # redis安装 用源码工程来编译安装 1/ 到官网下载最新stable版 2/ 解压源码并进入目录 tar -zxvf redis-2.8.19.tar.gz -C ./redis-src/ 3/ make 如果报错提示缺少gcc,则安装gcc : yum install -y gcc 如果报错提示:Newer version of jemalloc required 则在make时加参数:make MALLOC=libc 4/ 安装redis,指定安装目录,如 /usr/local/redis make PREFIX=/usr/local/redis install 6/ 拷贝一份配置文件到安装目录下 切换到源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下 cp redis.conf /usr/local/redis/ 7/ 启动redis cd /usr/local/redis bin/redis-server redis.conf