Linux常用基本命令主要包括目录操作命令、文件操作命令、文件查看命令、磁盘管理命令、用户管理命令、系统管理命令等。
目录操作命令:cd、ls、mkdir、pwd、rmdir
文件操作命令:cp、mv、touch、rm、grep、find、chmod、chown、chgrp、tar、split、gzip、tee、touch、unzip、zip、unrar、scp
文件查看命令:cat、head、tail、more、nl、diff
用户管理命令:useradd、usermod、userdel、passwd、su、groupadd、groupdel
网络通信命令:netstat、route、ftp、sftp、ping、scp、telnet
系统管理命令:who、uname、top、ps、kill、ifconfig、free、df、du、time、shutdown、reboot、man、last、halt、date、crontab、getconf
磁盘管理命令:fdisk、mount、umount、sync
使用说明
1、Linux基础指令的学习建议多动手实践,查看每条指令执行结果。用多了就记住了。
2、使用man查看命令及参数使用方法。如man find查看find命令的帮助指导。
目录操作命令
cd 切换目录
cd /home/oracle // 使用绝对路径,切换到/home/oracle目录下 cd ./oracle // 使用相对路径,切换到当前目录下的oracle目录下 cd .. //返回到上一级目录 cd - // 返回到上一次操作的目录 cd ~ // 切换到当前用户的家目录下
ls 查看文件和目录
ls //显示当前目录下非影藏文件与目录 ls -a //显示当前目录下包括影藏文件在内的所有文件列表 ls -l //列出文件和文件夹的详细信息 ls -t //最近修改的文件显示在最上面。 ls -ld /opt //显示文件夹信息 ls -lt //按时间列出文件和文件夹详细 ls -ltr //按修改时间列出文件和文件夹详细信息 ls -m //水平输出文件列表
pwd 查看当前路径
pwd //查看当前路径的绝对路径
mkdir 创建空目录
mkdir dir1 //在当前目录下创建dir1目录 mkdir -p /home/oracle/dir1 //递归创建dir1目录。即如果oracle目录不存在也会创建,存在则不创建
rmdir 删除空目录
rmdir dir1 //删除空目录dir1
文件操作命令
cp 复制文件或目录
cp file /home/oracle //将文件file复制到/home/oracle目录下,文件名为file cp file /home/oracle/file1 //将文件file复制到/home/oracle目录下并重命名为file1 cp -r /home/oracle/ /opt/ //复制orcle文件夹(即/home/oracle下所有文件和目录)到/opt目录下。此时/opt目录会有oracle目录。 cp -r /home/oracle/record /opt /record_new //复制record文件夹到/opt目录下并把record目录重命名为record_new。前提是/opt目录下没有record_new目录
mv 移动文件与目录,修改文件与目录名
mv file1 file2 //将文件名file1修改为file2 mv dir1 dir2 //将目录名dir1修改为dir2 mv /home/oracle/file1 /opt //将/home/oracle目录下的file1文件移动到/opt目录下 mv /home/oracle/* . //将/home/oracle目录下的所有文件移动到当前目录
touch 创建空文件
touch file1 //在当前目录下创建文件名为file1的空文件,文件大小为0
rm 删除目录和文件
rm file1 //删除file1文件 rm file1 file2 file3 //同时删除file1、file2、file3文件 rm -r dir1 //删除dir1目录,会删除dir1下的所有文件和子目录 rm -rf dir1 file1 //强制删除dir1目录、file1文件 rm -rf /home/oracle/* //删除/home/oracle目录下的所有目录和文件
chmod 修改文件或目录权限
chmod 755 file1 //给file1文件用户赋可读、可写、可执行权限(rwx),用户组和其他用户赋可读、可执行权限(r-x)。 chmod +x file1 //给file1文件权限设置为可执行,会同时给用户、用户组、其他用户赋可执行权限。 chmod -R 755 dir1 //将dir1目录下的所有文件或子目录权限设置为755(rwxr-xr-x) chmod u+x,g+w file1 //为file1文件用户增加可执行权限,用户组增加可写权限 chmod u=rwx,g=rw,o=r file1 //将file1文件权限设置rwxrw-r--
chown 修改文件或者目录的用户或者用户组
chown oracle file1 //将file1文件所属用户修改为oracle,所属用户组不同 chown oracle:oinstall file1 //将file1文件所属用户修改为oracle,所属用户组修改为oinstall chown -R oracle:oinstall dir1 //将dir1目录下的所有文件或子目录所属用户修改为oracle,所属用户组修改为oinstall
chgrp 修改文件或目录所属用户组
chgrp oinstall file1 //将file1文件所属用户组修改为oinstall chgrp -R oinstall dir1 //将dir1目录下的所有文件或子目录所所属用户组修改为oinstall
tar 打包文件和目录
#打包、压缩,.tar包和.tar.gz包 tar -cvf file.tar file1 //打包file1文件,后缀名为.tar tar -cvf file.tar dir1 //打包dir1目录 tar -cvf file.tar file1 file2 dir1 //打包file1、file2、dir1目录。后面可以跟多个目录名和文件名 tar -zcvf file.tar.gz dir1 [dir2,[dir3]]//打包并压缩dir1目录。后面可以跟多个目录名或文件名 #解包、解压缩 tar -zvf file.tar //解压缩.tar包,解压目录为当前目录 tar -zxvf file.tar.gz //同上 tar -zxvf file.tar.gz -C /home //解压缩到/home目录下,-c表示解压到指定目录。shell编程常用 #查看压缩包内容 tar -ztvf file.tar.gz //查看file.tar.gz压缩包中的内容
tee 文件重定向到文件和屏幕。
cat file.unl | tee file_20171101.log cat file.unl | tee -a file_20171101.log // -a表示文件重定向时使用追加模式
unzip 解压缩.zip后缀的压缩包
unzip file.zip //将file.zip压缩到解压到当前目录 unzip -o file.zip -d /home //将file.zip压缩包在指定目录/home下解压缩,如果已有相同的文件存在,会覆盖原先的文件。 unzip -n file.zip -d /home //将file.zip压缩包在指定目录/home下解压缩,如果已有相同的文件存在,不会覆盖原先的文件。 unzip -v file.zip //查看压缩文件目录,但不解压。
unrar 解压缩.rar后缀的压缩包
unrar x file.rar //解压文件到当前目录,保持原目录结构 unrar e file.rar //解压文件到当前目录,压缩的子目录下的文件也会直接放置在当前目录 unrar l file.rar //查看rar中的文件
scp 远程文件传输,通常用于两台服务期之间文件传输或者同一服务器不用用户间的文件传输
//本地文件或目录拷贝到文件服务器 scp file1 root@192.168.0.1:/home //将本地文件file上传到192.168.0.1服务器的root用户的/home目录下。 scp -r dir1 root@192.168.0.1:/home //将本地dir1目录下的所有文件和目录上传到192.168.0.1服务器的root用户的/home目录下。 //从远程服务器拷贝文件到本地目录 scp root@192.168.0.1:/home/file1 /opt //将192.168.0.1服务器上的root用户/home目录下的file1文件下载到本地/opt目录下 scp -r root@192.168.0.1:/home /opt //将192.168.0.1服务器上的root用户/home目录下的所有文件和目录下载到本地/opt目录下
find 查找文件或目录
find /opt -name "*.txt" //在opt目录下查找文件名后缀为.txt的文件 find /home -size +100M //在home目录下查找大于100M的文件
文件查看命令
cat 查看文件内容
cat file1.unl //查看file1.unl文件里的内容 cat -n file1.unl //带行号显示file1.unl文件里的内容,包括空行 cat -b file1.unl //带行号显示file1.unl文件里的内容,空行不编号 cat -A file1.unl //查看file1.unl文件里的内容,可同时查看不可打印字符。如结束符$,TAB空格^I、DOS结束符^MS cat file1.unl | more //查看file1.unl文件里的内容,可翻页查看。常用于数据量大情况
more 分页显示文件内容。常用于查看超大文件
more file.unl
head 显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容
head file.unl //显示文件的前10行内容,不带参数默认输出10行 head -n 15 file.unl //显示文件的前15行内容 head -n -20 file.unl //查看文件除了最后20行的内容
tail 查看文件最后几行或实时日志
tail file.unl //查看文件file.unl的最后10行 tail -n 15 file.unl //查看文件file.unl的最后15行 tail +15 file.unl //查看文件第15行至文件末尾的内容 tail -c 10 file.unl //查看文件file的最后10个字符 tail -f file.log //实时查看file.log新增内容。常用于日志查看,特别常用
nl 查看文件内容并会自动带行号
nl file.unl //带行号展示文件内容,文件中的空白行不加行号 nl -b a file.unl //带行号展示文件内容,文件中的空白行也会加行号
diff 比较两个文件内容
diff file1.unl file2.unl -y -W 150
用户管理命令
useradd 创建用户。下述指令表示创建oracle用户,其中属主为dba,属组为oinstall,家目录为/home/oracle,shell为/bin/bash。-m表示创建家目录。
useradd -g dba -G oinstall -m -d /home/oracle -s /bin/bash oracle
usermod 修改用户基本信息
usermod -s /bin/bash oracle //修改oracle用户使用shell为/bin/bash usermod -g dba oracle //修改oracle用户所属用户组为dba usermod -G oinstall oracle //修改oracle用户附加所属用户组为oinstall usermod -a -G oinstall oracle //增加oracle用户附加所属用户组为oinstall。 usermod -d /opt/oracle oracle //修改oracle用户家目录为/opt/oracle usermod -c "create for test" oracle //修改oracle用户创建说明
userdel 删除用户
userdel oracle //删除oracle用户,但不删除用户相关的文件 userdel -r oracle //删除oracle用户,同时删除用户家目录及相关文件 userdel -rf oracle //强制删除oracle用户及用户家目录相关文件,即使用户当前已登录。
groupadd 增加用户组
groupadd -g 200 dba //增加dba用户组,并且指定组ID为200
groupdel 删除用户组
groupdel dba //删除dba用户组
passwd 修改用户密码
passwd //不带用户名,修改当前用户密码,按照提示输入操作 passwd oracle //修改oracle密码
su 切换到其他用户
su - oracle //切换到oracle用户,并改变工作目录为oracle家目录
网络通信命令
ping 测试主机之间网络连通情况
ping 192.168.0.1 //测试本机与192.168.0.1的连通情况
telnet 登录远程服务器
telnet 192.168.0.1 //登录192.168.0.1服务器
ssh 使用ssh加密协议实现安全的远程登录服务器
ssh 192.168.0.1 //登录192.168.0.1服务器 ssh oracle@192.168.0.1 //使用oracle用户登录192.168.0.1服务器
netstat 查看网络状态信息
etstat -ano //查看所有端口连接信息 netsat -ano | grep "1521" //查看1521端口连接信息
ftp/sftp 本地和远程服务器间文件上传、下载
ftp 192.168.0.1 //按照提示输入用户名和密码 ftp oracle@192.168.0.1 //指定用户按照提示输入oracle密码 #后续交互常用操作实例 #1、从远程服务器oracle用户的/home/oracle/package目录下载oracle.tar.gz文件 ftp oracle@192.168.0.1 //指定用户按照提示输入oracle密码 ftp>pwd <- 查看当前操作的远程服务器目录 ftp>cd package <- 进入package家目录 ftp>binary <- 二进制方式传输,如果是文本文件,输入ascii ftp>get oracle.tar.gz <- 下载oracle.tar.gz文件 ftp>bye <- 退出 #1、从本地服务器上传文件到远程服务器的oracle用户家目录下 ftp oracle@192.168.0.1 //指定用户按照提示输入oracle密码 ftp>ascii <- 文本方式传输,如果是非文本文件,输入binary ftp>put data.unl <- 上传data.unl文件 ftp>bye <- 退出
说明:sftp命令操作方法同ftp
系统管理命令
who 显示目前登录系统的用户信息
who
uname 打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
uname //显示操作系统名称,相当于uname -s uname -a //显示全部信息 uname -r //显示操作系统发行编号
getconf 查看当前系统是32位还是64位
getconf LONG_BIT
ifconfig 查看和配置网卡信息
ifconfig //查看网卡信息
top 查看系统的整体运行情况
top
ps 查看系统进程状态
ps -aux //查看所有进程 ps -ef | grep "oracle" //查看oracle进程
kill 删除执行中的程序或工作
kill -9 6603 //删掉ID为6603的进程
free 显示当前系统内存使用情况
free -m //以MB为单位显示内存使用情况,也可以是-k、-b或不带参数
df 显示磁盘分区使用情况
df //以KB为单位显示分区使用情况,可以带参数-m df -h //以可读性较高的方式显示分区情况 df -i //显示各分区inode使用情况 df -T //显示各分区文件系统类型
du 查看文件或目录占用空间情况
du //显示当前所有目录或者文件所占空间 du debug.log //查看debug.log文件占用空间大小 du -sm dir1 //查看dir1占用空间统计 du -sm * //查看当前目录下所有目录或者文件汇总占用空间
time 查看命令执行所耗费时间
time ls //查看执行ls命令执行所耗费时间
date 查看和设置系统日期和时间
date //查看当前日期和时间,默认格式输出 date '+%Y-%m-%d %H:%M:%S' //查看系统当前日期和时间。20171126 date -s '20171120 07:01:01' //设置日期和时间
reboot 重启服务器
reboot //重启服务器
磁盘管理命令
fdisk 查看当前服务器磁盘或磁盘分区情况
fdisk -l //查看磁盘情况
mount 挂载文件系统
mount /dev/sda3 /home //挂载文件系统
umount 卸载已经加载的文件系统
umount /home //卸载挂载点/home
sync 强制被改变的内容立刻写入磁盘
sync;sync;sync