Linux常用命令

1.Linux常用命令

1.1.查看内核,服务启动

查看CPU位数: getconf LONG_BIT
查看内核/操作系统/CPU信息: uname -a
查看CentOS版本:	cat /etc/redhat-release

#查看内核版本
uname -r
#重启网络连接
service network restart

#查看dockers状态
service docker status

#查看运行中的docker容器
docker ps

#查看已经下载的镜像
docker images

#运行镜像
docker run -d -p 8888:8080 tomcat
			后台	端口映射	运行tomcat

#关闭防火墙
service iptables stop (临时关闭)
chkconfig iptables off (永久关闭)

#重启网络命令
 service network restart

查看Java运行:	ps -ef | grep java(Ctrl+C停止)
查看日志:	tailf /tmp/skg_json_log

#----------------------------------------------------------------------------------
##CentOS 图像界面
#命令模式进入图形界面
 startx
 
#安装图形界面
 如果startx 命令不管用,说明没有安装图形界面,命令安装如下:(需要联网)
 yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
 
#如果想开机直接进入“命令行模式”,可编辑 /etc/inittab 文件,设置为 id:3:initdefault:
 如果想直接进入“窗口模式”,则设置为 id:5:initdefault:
 在inittab文件里所有的有效语句都遵守如下格式:
 id:runlevels:action:process
 id 可任意起名但不能重复,是唯一标识
 runlevels  运行级别
#-----------------------------------------------------------------------------------
man   查看帮助信息
info  查看帮助信息
ls   查看目录下所有文件
ls –a > dir.txt ← 将ls –a命令执行结果输出到dir.txt文件
ls –a >> dir.txt ← 将ls –a命令执行结果附加到dir.txt文件之后
vi   编辑文件
cat  查看文件内容
pwd  显示当前工作目录
touch  新建文件
mkdir 创建新目录
cp   复制文件或目录
mv   移动文件或更改名称
rm   删除文件
find   查找文件
reboot 重启
shutdown  -h 关机
shutdown  -r 重启

#-------------------------------------------------------
cd ~	切换到主目录
cd /tmp	切换到目录tmp
cd dir	切换到当前目录下的dir目录
cd /	切换到根目录
cd ..	切换到上一级目录
cd ../..	切换到上二级目录
cd ~	切换到用户目录

1.2.用户的创建、授权与删除

1.2.1.Linux下创建用户并设置权限

#1.创建的用户目录
mkdir /data/app/datacloudsystem/uploaddata

#2.新建用户到指定的目录
useradd testUser -d /data/app/datacloudsystem/uploaddata

#3.设置新用户密码
passwd testUser

#4. 将访问目录所有者赋予testUser用户
chown -R testUser /data/app/datacloudsystem/uploaddata

#5.将上层目录设置为root所有
chown root /data/app/datacloudsystem/

#6.赋予权限给上层目录
chmod 771 /data/app/datacloudsystem

1.2.2.文件、文件夹权限查看与修改

# ll /usr/local/
-rw-r--r--.  1 root root   1982 Apr 11  2018 virc
drwx------  2 mysql mysql 62 Apr 16 08:26 mysql
# 输入ll命令后可以查看到显示文件的权限与归属,r 读,w 写,x 执行 - 无权限
#以第一条记录为例
-rw-r--r--.  1 root root   1982 Apr 11  2018 virc
1:- 表示文件,d 标识文件夹
2-4: 表示当前用户的权限,rw- 当前用户由读写权限
5-7:表示所属用户的权限,r-- 只读权限
8-9:表示所属用户组的权限,r-- 只读权限
第一个root标识所属用户,第二个root标识所属用户组

#修改所属用户
chown -R mysql ./virc
#修改所属用户组
chgrp -R mysql ./virc
#修改用户权限
chmod u+x ./virc #给所属用户增加执行权限
chmod ug-w ./virc #给所属用户和用户组减少写权限

1.2.3.查看用户及修改用户密码

#1 用户列表文件
cat /etc/passwd

#2 用户组列表文件
cat /etc/group

#3 查看系统中有哪些用户
cut -d : -f 1 /etc/passwd

#4 查看系统中有哪些用户组
cut -d : -f 1 /etc/group

#5 查看可以登录系统的用户
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

#6 查看活动用户
w

#7 查看指定用户信息
id

#8 查看用户登录日志
last

#9 修改用户密码
#使用 passwd 命令可以用来修改用户密码。
passwd
#输入以上命令后回车,即可直接输入旧密码以及新密码,修改当前用户的密码

#对于root用户来说,可以直接修改其他用户的密码:
passwd <user_name>

#比如,输入
passwd testUser # 修改istester用户的密码
#回车后直接输入新密码即可。

1.2.4.删除用户

#删除用户的命令是:
userdel <用户名>

#例如:
#刚建立的用户是:zhyh,则命令为:
userdel testUser
#执行以上命令成功后利用
rm -rf /home/testUser/
#就可以了。
#或者,也可以用
userdel -r testUser

1.3.文件与文件夹

新建文件夹:	mkdir filename
文件重命名:	mv oldfilename newfilename
移动文件: mv filename 路径(若多个文件则,filename1/filename2)
安装rpm: rpm -ivh filename
更新rpm: rpm -Uvh filename
压缩文件:	tar -zcvf 压缩文件名.tar.gz 被压缩文件名
解压tar.gz:	tar -zxcf 压缩文件名.tar.gz
安装软件:	yum install software
查看源列表:	yum repolist

删除文件:	rm filename
删除目录以及它所包含的所有内容: rm -rf 目录
查看crontab文件:	cat /etc/crontab
 
查看文件内容编码:	enca -L zh_CN filename
文件内容编码转码:	iconv -f 原始编码 -t 目标编码 原始文件 > 目标文件
enca -L 当前语言 -x 目标编码 文件名
enca -L zh_CN -x UTF-8 < file1 > file2 (如果不想覆盖源文件)
文件名编码转换:	convmv -f 原始编码 -t 目标编码 --notest *.mp3(-r 这个表示递归转换当前目录下的所有子目录)

1.4.文本编辑

#-------------------------centos6常用命令-----------------------------------
1.Vi 基本操作
1) 进入vi
 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
 $ vi myfile 
 进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。
 
2) 切换至插入模式(Insert mode)编辑文件
 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,「ESC」键转到「命令行模式(command mode)
 
3)  退出vi及保存文件
 在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
 : w filename (输入 「w filename」将文章以指定的文件名filename保存)
 : wq (输入「wq」,存盘并退出vi)
 : q! (输入q!, 不存盘强制退出vi)
#--------------------------------------------------------
利用vim编辑文件:	vim filename
进入INSERT:i
退出INSERT使用其他命令:ESC
读入一个文件内容,并写入到当前编辑器中::r filename
将该编辑器中的内容写入到一个新文件中::w newfilename
暂时离开 vi到指令列模式下执行::! cmd
进入shell命令行,执行完命令后ctril+d推出重新进入vim继续编辑::sh
保存文件但不退出::w
强制保存,不退出::w!
将修改的文件另存到file中,不退出vi::w file
退出不保存::q
退出并保存:ZZ(:wq)
强制保存并退出::wq!
强制退出并不保存::q!
放弃所有修改,从上次保存文件开始再编辑::e!

1.5.压缩与解压缩

linux tar.gz zip 解压缩 压缩命令
http://apps.hi.baidu.com/share/detail/37384818
 
download ADT link
 
http://dl.google.com/android/ADT-0.9.6.zip
 
download SDK link
 
http://dl.google.com/Android/android-sdk_r11-linux_x86.tgz(可以通过FQ得到具体的文件名,再通过链接下载即可)
 
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
 
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
 
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
 
下面的参数-f是必须的
 
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
 
# tar -cf all.tar *.jpg 
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 
 
# tar -rf all.tar *.gif 
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 
 
# tar -uf all.tar logo.gif 
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 
 
# tar -tf all.tar 
这条命令是列出all.tar包中所有文件,-t是列出文件的意思 
 
# tar -xf all.tar 
这条命令是解出all.tar包中所有文件,-x是解开的意思 
 
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for Linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
 
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar –xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
 
总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
 

2.Linux 文本编辑常用快捷键

一、 三种模式

#vim有三种编辑模式

#1. i 进入文本编辑模式

#2. esc 进入命令编辑模式 
命令编辑状态下 dd删除整行

#3. :进入底行模式
底行模式状态  输入q 退出 w保存  wq 保存并退出  !表示强制的意思  q!强制退出 

二 、编辑文本常用快捷键

#1、插入命令
    a  在光标后附加文本
    A  在本行行末附件文本
    i  在光标前插入文本
    I  在本行开始插入文本
    o  在光标下插入文本
    O  在光标上插入文本

#2、定位命令
    h或方向左键  左移一个字符
    j或方向下键  下移一行
    k或方向上键  上移一行
    l或方向右键  右移一个字符
    $  移至行尾
    0  移至行首
    H  移至屏幕上端
    M  移至屏幕中央
    L  移至屏幕下端
    :set nu  设置行号
    :set nonu  取消行号
    gg  到第一行
    G  到最后一行
    nG  到第n行
    :n  到第n行

#3、删除命令
    x  删除光标所在的字符
    nx  删除光标所在处后n个字符
    dd  删除光标所在行
    dG  删除光标所在行导末尾的内容
    D  删除从光标所在行到末尾的内容
    :n1,n2d  删除指定范围的行

#4、复制和剪切命令
    yy或者Y  复制当前行
    nyy或者nY  复制当前行一下n行
    dd  剪切当前行
    ndd  剪切当前行以下n行
    p或者P  粘贴在当前光标所在行下或行上

#5、替换和取消命令
    r  取代光标所在处的字符
    R  从光标所在处开始替换字符,按Esc键结束
    u  取消上一步操作

#6、搜索和替换命令
    /string  #向前搜索指定命令,搜索时忽略大小写:**set ic** ,如搜索ftp:  /ftp
    n  #搜索指定字符串的下一个出现位置
    :%s/被替换的字符串/替换成的字符创/g  #例如把全文的ftp替换成hello  :%s/ftp/hello/g
    :n1,n2s/被替换的字符串/替换成的字符创/g  #在一定的范围内替换字符串

#7、保存退出命令
    :wq 或者 ZZ 保存退出
    :q!  不保存退出
    :wq!  强行保存退出 (root或者文件的所有者)

#8、应用实例
#1)在vi中导入文件 :
    :r 文件
    如:导入/test目录下的abc.txt文件  :r /test/abc.txt

#2)在vi中执行命令:
    :!命令
    如:在vi编辑器中查看 /test目录下的文件详细信息  :!ls -l /test
    这样就不需要先退出vi再去执行命令

#3)把命令执行的结果导入到vi中:
    如:把date命令执行的结果导入到vi中
    :r !date

#4)定义快捷键
    :map 快捷键 触发的命令
    如:  :map ^P I#<ESC>  ^表示定义的快捷键,
    注意,在vi中,^这个符号是使用ctrl+v组合输入的符号,^P 在vi中的输入是ctrl+v和ctrl+p,或者ctrl+v+p
    :map ^P I#<ESC>  表示光标无论在行的哪个位置,只要按下ctrl+p就可以在行首插入#号,然后回到命令模式。I表示在行首插入文本,<ESC>表示  回到命令模式。
    :map ^E acodeartisan@gmail.com  定义了一个快捷键ctrl+e,只要按下ctrl+e就可以在光标位置输入我的邮箱acodeartisan@gmail.com,非常方便。
    再比如我们要定义一个快捷键,无论光标在行的哪个位置,只要按下ctrl+b,就可以去掉行首的#注释(实际上就是把行首的第一个字符删掉)
    :map ^B 0x  定义了一个快捷键ctrl+b。0表示移到行首,x表示删除光标所在字符。

#5)连续行注释
    :n1,n2s/^/#/g  在n1行和n2行之间的行首加入#注释
    :n1,n2s/^#//g  把n1行和n2行之间的行首的#注释去掉

三、shell脚本示例

[shell脚本教程] https://www.runoob.com/linux/linux-shell.html

#!/bin/bash
tomcat=0
service=0
WEB_NAME='/wls/softwares/test/war/'
SERVER_NAME='/wls/softwares/test/gz/'

if test -e ./file1.war
then
	#获取进程号,如果有则杀死进程
	PIDS=`ps -aux|grep "$WEB_NAME" | grep -v grep | awk '{print $2}'`
	if [ -n "$PIDS" ]; then
		echo "INFO: The $WEB_NAME need to kill!"
		echo "PID: $PIDS"
		kill -9 "$PIDS"
	fi
	
    echo 'file1.war文件已存在!'
        tomcat=1
else
    echo 'file1.war文件不存在!'
fi

if test -e ./file2.war
then
	#获取进程号,如果有则杀死进程
	PIDS=`ps -aux|grep "$WEB_NAME" | grep -v grep | awk '{print $2}'`
	if [ -n "$PIDS" ]; then
		echo "INFO: The $WEB_NAME need to kill!"
		echo "PID: $PIDS"
		kill -9 "$PIDS"
	fi
	
    echo 'file2.war文件已存在!'
        tomcat=1
else
    echo 'file2.war文件不存在!'
fi

if test -e ./file3.gz
then
	#获取进程号,如果有则杀死进程
	PIDS=`ps -aux|grep "$SERVER_NAME" | grep -v grep | awk '{print $2}'`
	if [ -n "$PIDS" ]; then
		echo "INFO: The $SERVER_NAME need to kill!"
		echo "PID: $PIDS"
		kill -9 "$PIDS"
	fi
	
    echo 'file3.gz文件已存在!'
        service=1
else
    echo 'file3.gz文件不存在!'
fi

if test $[tomcat] -eq 1
then
        echo "tomcat 启动"
fi

if test $[service] -eq 1
then
        echo "service 启动"
fi

posted @ 2020-08-23 11:19  howard4  阅读(225)  评论(0编辑  收藏  举报