简单韩叙 3星
共回答了348个问题采纳率:95.1% 评论
Linux是我们开发人员必不可少的系统,也是经常接触到的。然而,Linux命令比较多,有些不常用也难记住。那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过程中,比较常用、也比较实用的Linux命令。
01 查看文件或日志
查看文件内容或日志文件, 相信几乎所有人都会接触到。其中,用得最多的就是head、tail和cat命令。
1、head
表示头部,查看最前面几行数据。
head test.log :test.log文件前几行日志内容
head -n 20 test.log :查看test.log文件前20行日志内容
head -n -20 test.log :查看test.log除了最后20行日志内容
2、tail
表示尾部,查看最后几行或实时日志。
tail -f test.log :实时查看test.log文件最后几行日志内容
tail -f -n 20 test.log :实时查看test.log文件最后20行日志内容
tail -n 20 test.log :查看test.log文件最后20行日志内容
tail -n +20 test.log :查看test.log文件20行后的所有日志内容
3、cat
用于查看文件内容。
cat test.log:查看test.log文件所有内容
02 本地复制
同一台服务器不同目录之间复制文件或目录也是经常用到的。
1、复制文件
cp test.log /home/geshan/logs :复制test.log文件到/home/geshan/logs/目录下
cp test.log /home/geshan/logs/cptest.log :复制test.log文件到/home/geshan/logs/目录下并重新命名为cptest.log
2、复制文件夹
cp -r logs/ /home/geshan/ :复制 logs目录及目录下所有文件到/home/geshan/目录下,此时该目录会有logs目录
cp -r logs/ /home/geshan/testlogs/ :复制 logs目录及目录下所有文件到/home/geshan/testlogs/目录下,并把logs目录重新命名为testlogs,前提是/home/geshan/目录没有testlogs目录
注:-r或-R表示循环,循环目录下所有文件和目录。下面所有命令也是如此。
03 远程复制
当我们需要从远程服务器复制某个文件或目录到本地登录的服务器时,大部分人想到先登录远程服务器下载该文件,然后再登录本地服务器再上传文件。这样是比较麻烦,效率也不高。
1、本地服务器复制到远程服务器
(1)复制文件
命令1:
scp local_file remote_username@remote_ip:remote_folder
命令2:
scp local_file remote_username@remote_ip:remote_file
命令3:
scp local_file remote_ip:remote_folder
命令4:
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变;第2个指定了文件名 ;第3,4个没有指定用户名,命令执行后默认与当前服务器用户名并需要输入用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
实例1: 从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录,并重新命名为
20190125.log
命令:
实例2: 从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录
命令:
(2) 复制目录
命令1:
scp -r local_folder remote_username@remote_ip:remote_folder
命令2:
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;第2个没有指定用户名,命令执行后需要输入用户名和密码。
实例:从本地服务器/home/appuser/目录下的tomcat目录复制到192.168.130.130服务器的/home/geshan/目录命令:
2、从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
(1)复制文件
实例:
从192.168.130.130远程服务器的/home/geshan/路径下test.log文件复制到本地服务器/home/appuser/路径
命令:
scp root@192.168.130.130:/home/geshan/test.log /home/appuser/
(2)复制目录
实例:从192.168.130.130远程服务器的/home/geshan/路径下tomcat文件夹复制到本地服务器/home/appuser/路径
命令:
注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。
04 压缩和解压
压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。
1、tar命令
解压:
压缩:
实例:解压一个log.tar文件:
压缩log目录并命名为log.tar:
2、gz命令
压缩:
注:压缩为 .gz 文件 源文件会消失如果想保留源文件,使用下面命令
解压:
.tar.gz 和 .tgz解压:
压缩:
压缩多个文件:
实例:解压tomcat.tar.gz文件
压缩tomcat目录,并命名为tomcat.tar.gz文件
3、zip命令
解压:unzip fileName.zip压缩:
注:压缩目录时,需加 -r ,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。
实例:解压一个log.zip文件:
压缩log文件目录并命名为log.zip:
压缩log1和log2目录并命名为log.zip:
压缩test1.log和test2.log文件并命名为log.zip:
4、rar命令
同理,和zip命令类似,只需把zip改为rar即可。
05 修改权限
Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。
其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。
1、chgrp命令
改变文件或目录所属的组。命 令:
实例:把test.log文件所属的组修改为geshan组
把logs目录及该目录下所有文件所属的组修改为geshan组
2、chown命令
更改某个文件或目录所属的用户。命令:
实例:把test.log文件所属用户修改为geshan用户
把logs目录及该目录下所有文件所属用户修改为geshan用户
3、chmod命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。命令:
其中,mode有很多种表示含义,下面只对数字说明。大部分人看到mode有777或776等权限,这些表示什么呢?
为了方便,把mode改为abc,其中a,b,c各为一个数字,分别表示user、group及other的权限。r=4,w=2,x=1,r表示Read读,w表示Write写,x表示eXecute。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实例:把test.log文件修改可读写执行(即777)操作。
把logs目录及目录下所有文件修改为读写(666)操作。
在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。
注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。
这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,如果对你有所帮助,记得点赞收藏转发哦!
2小时前
天使白猫 3星
共回答了389个问题 评论
linux常用命令有哪些?
1. 路径和显示的命令:
cd
pwd
ls
ls -l 可以缩写为ll,该命令是用来查看指定目录下对象的详细属性的。
2. 文件、文件夹相关的操作命令:
·mkdir 创建文件夹。
·rmdir 删除空的文件夹的,基本被淘汰。
·rm
·touch 创建一个空的文件。
基本格式:touch 文件名
示例: touch test.txt
表示在当前目录下创建一个空文件,叫test.txt
touch /opt/test.txt
表示在/opt目录下创建一个空文件,叫test.txt
3·vim 可以缩写为vi,该命令是用来创建或者编辑一个文件的。
基本格式:vi 文件名
注意事项:
·vi只能针对文件来进行操作,如果vi的对象是一个已经存在的文件夹,则最终无法保存所编辑的内容。
·vi中鼠标是没有任何用的,光标的移动是通过上下左右方向键,回车键和PageDown、PageUp等来实现的。
3. 常用的vi子命令有:
:q 退出,适用于没有对文档进行任何修改的情况下。
:q! 强制退出不保存。
:wq 退出并且保存。
:wq!文件名 强制退出,并且将当前内容另存到指定的文件中。
dd 删除光标所在的整行
x 删除光标所在的字符
gg 移动光标到整个文档的最后一行
:N N是正整数,表示将光标移动到指定的行。
4.·编辑模式:在该模式下,所有键盘的输入都是纯粹的字符串,相当于在记事本中输入一样。
5.模式的切换和对应的特征:
命令模式下, 按i或者a或者s都可以切换到编辑模式。
一般来说,编辑模式就是vi界面的左下角出现“--insert--”这样的提示串。
编辑模式下,按ESC键就可以切换到命令模式。
6. 常见问题:linux下文件名和文件夹名能否重复?后缀名是否有用?
·不论是windows还是linux,同一个目录下,是不允许出现同名的对象。
·在linux下,文件的后缀名是没有任何意义的,一般来说,后缀名只是用来起到标识作用,当然,后缀名除了标识作用,一定程度上也考虑了和windows的兼容性。
·cp 用来实现复制粘贴操作。
基本语法格式:
格式1:
cp 源对象 目标对象
表示将源对象复制粘贴为目标对象。
示例:
cp a.txt d.txt
表示将当前目录下的a.txt复制到当前目录下,重命名为d.txt。
·mv 该命令是用来实现剪切粘贴的操作。
该命令的语法格式和cp命令基本一致。
·ln 该命令是用来创建链接对象的。
在linux中,链接分为硬链接和软链接。
默认创建的是硬链接。
-s 该属性表示创建的是软链接。
·文件内容的查看:
常用的命令有:
cat
more
less
head
Tail
常见的退出方式:
·CTRL+C 强制中止当前正在执行的命令。
·ESC
·Q
·QUIT
·EXIT
对象的查找:
find:
基本格式:
find 查找范围 参数 参数值
示例:
find / -name a.txt
表示在根目录下查找名字叫a.txt的对象。
文本内容、字符串的查找:
grep 该命令是支持正则表达式方式,在指定对象中查找符合条件的字符串或者行的。
基本格式:
grep [参数] [正则表达式] 对象
示例:
grep "a" a.txt
表示输出a.txt中所有包含字符a的行。
·ls 查看命令
基本格式:ls [对象]
表示查看对象或者对象下的所有对象的信息。
重要属性:
-l
查看详细属性
权限相关的命令:
在linux系统中,存在用户和用户组的概念。
·useradd 用来添加用户
示例:useradd test1
表示添加一个新的用户,叫test1.
·passwd 用来修改指定用户的密码
示例:passwd test1
通过交互式的方式来修改test1的密码
PS:如果passwd后不跟用户名,则表示修改的是当前登录的用户的密码。
在linux中,用户配置信息都是记录在系统文件/etc/passwd中的。
·userdel 用来删除用户
建议使用属性-r。
·groupadd 添加用户组
·groupdel 删除用户组
权限:
在linux中,用户对于对象的权限有三种:分别为
r 可读
w 可写
x 可执行
chmod 直接修改对象的权限,即直接修改这9个字符。
基本格式:
chmod 权限表达式 对象名 [-R]
·权限表达式,在linux中,权限的表示方式有两种:
·字符:
rwx 可读可写可执行
u 表示所有者
g 表示所属组
o 表示其它人
= 表示赋值
+ 表示加权限
- 表示减少权限。
例子:chmod u=rw a.txt
表示将a.txt的所有者的权限修改为可读可写。
其他操作:
·history 显示历史输入命令
!N N表示历史命令的编号
该命令表示执行历史命令列表中的第N条命令。
·clear 清理屏幕的输出。
·TAB键 是用来补全路径或者文件名的。
1小时前
九五至尊 4星
共回答了407个问题 评论
Linux常用命令大全100条: 1,echo “aa” 》 test.txt 和 echo “bb” 》》 test.txt//》将原文件清空,并且内容写入到文件中,》》将内容放到文件的尾部 2,chmod go+w -R /home/zhangy //给组用户和其他用户添加写的权限 3,tar -tzvf test.tar.gz //列出归档内容 4,du -ah //查看文件列表大小 5,du -sh //查看所有文件的大小总和 6,echo ‘1+2’|bc -l //数学运算 7,uname -a //查看linux内核等的一些信息 8,badblocks -s /dev/sda //坏道扫描时显示进度 9,time command //查看命令的运行时间 10,ls -lrt //按时间的倒序排序 11,rsync -P //同步时显示进度 12.history -c //清楚历史命令 13,cd - //返回上次目录 14,tree //显示目录树 15,umount -n /mnt/hda2 //强制卸载 16,echo ~/ //显示用户的home目录 17,echo $[5*5]e799bee5baa6e997aee7ad94e78988e69d8331333337376265 //算术运算 18,echo $((5*5)) //算术运算 19,eval ls;ps aux|grep httpd //这二个命令都能执行 20,free -m //有MB为单位显示内存 21,uptime//显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载 22,加法运算 [root@krlcgcms01 mytest]# let a=34+3; [root@krlcgcms01 mytest]# echo $a; 23,export //查看所有环境变量 24,echo $PATH //查看单个变量 25,cmp file1 file2 //文件内容比对 26,clear //清屏 27,echo 23423 |awk --re-interval ‘/[0-9]{3,}/’ //如果不加re-interval的话,不显示 28,cal //得到一个整齐的日历格式 29,wc -l //统计行数,wc -w 统计单词 30,echo “AaDCbd23” |tr “[A-Z]” “[a-z]” 大写变小写,echo “AaDCbdc23” |tr -c b-d =将b-d之外的字符串替换成= 31,echo “ADSF” | iconv -f UTF8 -t GBK //把字符由utf8转成gbk-f是from和简写,-t好像terminal的简写 32,cat -n file //内容的前面会显示行号 33,chattr +i file //只读,root用户也没法对其进行修改 34,lsattr file //查看文件属性 35,cat /etc/passwd |awk -F: ‘{print $1}’ //查看系统中所有用户 36,cat /etc/group //查看系统中所有的组 37,groups //查前当前用户所在的,所有组 38,usermod -g 组名 用户 //这种方式是覆盖的方式,用的时候要小心,如果用户A性于mysql usermod -g phpmysql这样的话只属于php了 39,usermod -G 组名 用户 //这种方式是增加的方式,如果用户A性于mysql usermod -g phpmysql这样的话,mysql就属于2个组了 40,bc //进入数学计算中去 41,umask 003 u权限是7,g权限是7,其他用户是4,也就是774,777-003=774 42,mkfs -t vfat /dev/hda6 //将移动硬盘里面的一个分区格式化成vfat格式 43,mount /dev/cdrom /media/cdrom //挂载cdrom 44,getent group 532 //通过组ID,来查找组信息 45,last //登录成功用户记录 46,lastb //登录不成功用户记录 47,dump -S /dev/sda2 //查看一下要备份/dev/sda2所要的容量 48,dump -0j -f /dev/hda2/sda2_bak.dump.bz2 /dev/sda2 //将sda2进行备份并压缩 49,restore -t -f /dev/hda2/sda2_bak.dump //查看备份信息 50,restore -r -f /dev/hda2/sda2_bak.dump //还原备份 51,fc-list //查看系统中安装的字体 52,find 。/ -type f -exec grep -q “root” {} ; -exec echo {} ;//查找目录下文件所包涵的字符串 53,vmstat 5 //每5显示一下次系统信息,cpu,memory,i/o等 54,top 后 在shift + P 所占进程的排序显示 55,top 后 在shift + M 所占内存的排序显示 56,iptraf -g //查看各个接口的流量 57,ostat -d -x /dev/sda2 2 //用iostat查看磁盘/dev/sda2的磁盘i/o情况,每两秒刷新一次 58, paste -sd ‘|||n’ test //文件的每4行转换成1行,并用|隔开 59,lsof -i :22 //知道22端口现在运行什么程序 60,lsof -c abc //显示abc进程现在打开的文件 61,lsof -p 12 //看进程号为12的进程打开了哪些文件 63,route //查看路由信息 64,ifup //开启网卡 65,ifdown //关闭网卡 66,route del -net 172.168.0.0 netmask 255.255.0.0 dev eth0 //删除172.168这个网段 67,route add -net 172.168.10.0 netmask 255.255.255.0 dev eth0 //增加一个路由 68,netstat -tunl //列出监听的网络服务端口 69,netstat -tun //列出已连接的网络服务端口 70,nmap -sP 172.30.4.0/24 //在这个网段内有多少用户在我的主机上操作,一个不错的安全检查工具 71,vgdisplay //查看系统中的可用空间 72,lvextend -L+20G /dev/tank/part1 //向part1这个分区增加20G的空间 73,lvresize -L-10G /dev/tank/part2 //向part2这个分区减少10G的空间 74,pvdisplay //查看磁盘信息 75,mplayer -loop 10 /mnt/song/music/花儿开了.mp3 //循环播放10遍 76,pacman -S firefox -nd //nd去掉依赖 77,wget -c //断点下载 78,chroot /mnt/ubuntu //改变根目录到/mnt/ubuntu 79,ctrl+a //命令行下,光标称动到开头 80,ctrl+e //命令行下,光标移动结尾 81,cut -d: -f 1-4 test //用:分割文件,取分割后的1-4列 82,file /home/zhangy/test.php //用于查看文件的一些基本信息 83,touch test.txt //创建一个空文件 text.txt 84,htpasswd -cbd /usr/local/nginx/conf/authfile //创建访问控制文件 85,df //查看磁盘空间,和当前的磁盘数 86,fdisk -l //查看所有磁盘数 87,alsamixer //进入后,m键可以实现静音 88,killall httpd //把所有httpd进程杀掉 89,killall -9 mysqld_safe //有些进程超级用户也停止不了,-9是强制删除 90,mirror /mysql //下载mysql目录 91,mirror -R /mysql //上传mysql目录 92,rmmod pcspkr //关掉tab提示音 93,modprobe pcspkr //开启tab提示音 94,gpasswd -a zhangy wheel //将zhangy这个用户添加到wheel这个组 95,dd if=/dev/zero of=/virtual/ubuntu.virt.img bs=1M count=4096//创建一个4G的IMG镜像 96,lspic //显示pci设备 97,lsusb //显示usb设备 98,history | less //less根more有点像,感觉less用着更舒服点 99,ln -s //如果忘了-s就变成硬链接了 100,tar zxvf test.tar.gz -C /home/zhangy //将内容解压到指定目录
22小时前
猜你喜欢的问题
5个月前1个回答
5个月前1个回答
5个月前1个回答
5个月前2个回答
5个月前1个回答
5个月前2个回答
热门问题推荐
1个月前4个回答
1个月前1个回答
4个月前2个回答
1个月前1个回答
3年前2个回答
2个月前2个回答
3个月前2个回答
2个月前1个回答
3个月前1个回答